検索結果 8 件

by PonPon
3年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウのクライアント領域をjpegで保存したいです
返信数: 1
閲覧数: 3633

ウィンドウのクライアント領域をjpegで保存したいです

ウィンドウの画像が切れた状態で保存されるのですが、本来はクライアント領域のみをjpeg保存したいです。 どのように修正したらよろしいでしょうか? BOOL SaveImage(LPTSTR filename, HWND hWnd) { HDC hdc; RECT rc; BITMAP bmp; HBITMAP hbmp; HBITMAP hbmpPrev; GetClientRect(hWnd, &rc); hdc = CreateCompatibleDC(NULL); hbmp = CreateBackbuffer(rc.right, rc.bottom); hbmpPrev = (HBIT...
by PonPon
4年前
フォーラム: C言語何でも質問掲示板
トピック: ブラウザ上で書いたコードをサーバー側でコンパイルさせる方法
返信数: 14
閲覧数: 8914

Re: ブラウザ上で書いたコードをサーバー側でコンパイルさせる方法

追記です。
phpのsystem関数以外にもCのコードでも色々出来ちゃうので個人だけで使うか、サービスとして提供するのであれば、送られてきたCのソースコードをしっかりチェックして使える関数と使えない関数を切り分けて下さい。
ユーザーが自由にCのソースをアップロードしてコンパイル、アクセスできるようなサービスだと本当にサーバーを滅茶苦茶にされかねません。
本当に危険なのでおすすめは個人の運用のみにした方がいいです。
by PonPon
4年前
フォーラム: C言語何でも質問掲示板
トピック: ブラウザ上で書いたコードをサーバー側でコンパイルさせる方法
返信数: 14
閲覧数: 8914

Re: ブラウザ上で書いたコードをサーバー側でコンパイルさせる方法

一応サンプル作ったので試してみてください。 phpファイルをアップロードできなかったので拡張子がcになってますがphpに直してください。 //ブラウザ入力 ファイル名 test #include <stdio.h> int main() { printf("Content-type: text/html\n\n"); printf("<html><head><title>test</title></head>\n"); printf("<body>\n"); printf("<font color=\"#ff0000\">C言語でCGI<br>コンパイルテスト</font>\n"); prin...
by PonPon
4年前
フォーラム: C言語何でも質問掲示板
トピック: ブラウザ上で書いたコードをサーバー側でコンパイルさせる方法
返信数: 14
閲覧数: 8914

Re: ブラウザ上で書いたコードをサーバー側でコンパイルさせる方法

それは実際のファイル内で確認しましたか?
それともechoでのブラウザ確認ですか?
たぶんブラウザで確認してるんだと思いますけど
<>はHTMLタグ扱いされて見えなくなってるだけです。
実際に作成されたファイルを直接エディタで確認してみてください。

もしブラウザ内で表示させたいのであればstr_replaceなどで
&gt;と&lt;を置き換えてみてください。
by PonPon
4年前
フォーラム: C言語何でも質問掲示板
トピック: ブラウザ上で書いたコードをサーバー側でコンパイルさせる方法
返信数: 14
閲覧数: 8914

Re: ブラウザ上で書いたコードをサーバー側でコンパイルさせる方法

C言語をCGIで動かしたくてレンタルサーバーで以前同じようなことをしたことがあります。

HTMLからPHPにコードを渡し
PHPでコードを.cファイルに保存
PHPのsystem関数からgccを呼び出しコンパイル
コンパイル後のファイル拡張子は.cgi
ブラウザからファイル名.cgiにアクセス

こんな手順でした。
ちなみに僕が使用したレンタルサーバーはxreaです。
by PonPon
4年前
フォーラム: C言語何でも質問掲示板
トピック: 意図しない処理が行われて先に進みません。。。
返信数: 3
閲覧数: 6451

Re: 意図しない処理が行われて先に進みません。。。

データベースが開けないとエラーに書いてあるので エラーチェックをしていなかった sqlite3_openのすぐ後ろに同様のエラーチェックを追加しました。 ret = sqlite3_open("SW_Info.db",&db); if (ret != SQLITE_OK) { MessageBox(hWnd, (LPCSTR)sqlite3_errmsg(db), (LPCSTR)"ERROR 0001", MB_OK); sqlite3_close(db); sqlite3_free(err); FreeLibrary(hDll); return FALSE; } するとやはり上記の動作をし...
by PonPon
4年前
フォーラム: C言語何でも質問掲示板
トピック: 意図しない処理が行われて先に進みません。。。
返信数: 3
閲覧数: 6451

Re: 意図しない処理が行われて先に進みません。。。

みけCATさん、見ていただきありがとうございます。 再現できませんでしたか? データベースに参照したファイルの絶対パスを書き込めたのでしょうか??? hDllを渡してたのはミスでした。ずっとコピペしてたので最初からのミスに気づきませんでした。 教えていただきありがとうございます。 さて、こちら側での動作ですが ・一番最初にパス編集ダイアログが作成されたときはエラーが出ない ・参照ボタンを押さずに編集ボタンを押すとエラーが出ない ・参照ボタンを押して他のファイルを選択し編集ボタンを押すとError 0007の場所でunable to open database fileとエラーが出る。 ・上記エ...
by PonPon
4年前
フォーラム: C言語何でも質問掲示板
トピック: 意図しない処理が行われて先に進みません。。。
返信数: 3
閲覧数: 6451

意図しない処理が行われて先に進みません。。。

作成途中のソースファイルを一式添付しました。 mysys.c内の104行目 else if(flag == PATH_VIEW) から最後までの処理が意図しない動作になります。 初回起動時、既存の他アプリの絶対パスをデータベース(SQLite)に登録しています。 メニューからパスを編集できるダイアログを作成し、エディットボックス内に現在登録されている絶対パスを表示しています。 ・エディットボックス内を変更することなく編集ボタンを押すと意図した通りの動作になってると思われます。 ・エディットボックス内を変更して編集ボタンを押すとSQL側のエラーが戻ってきます。 ・エディットボックス内を変更するこ...

詳細検索ページへ移動する