macchun の回答履歴

全15件中1~15件表示
  • excelでdeclareしたdllからのCreateDialog

    こんばんは。教えて! excelからC++で作成しているdllを呼び出し、 dll内でダイアログを作成し表示したいと思っています。 問題は、CreateDialogで失敗(以下のコードでhDlgが0になる)することです。 hDlg = CreateDialog( NULL, MAKEINTRESOURCE(IDD_DIALOG) , NULL, (DLGPROC)DlgProc ); 第一引数と第三引数に何かいれないといけない気がしていますが、いろいろ試行錯誤してもうまくいきません。 第一引数と第三引数はどこから引っ張ってくればよいでしょうか?? お願いいたします。

  • Windowのちらつき防止

    WEB検索をしますと結構情報がヒットしますが、 解決に至ってませんので、よろしくお願いします。 Win32アプリケーションです。 WM_PAINTのタイミングでWindowに文字を描画してますが、 背景の塗りつぶしが原因でちらつきます。 WM_ERASEBKGNDメッセージをつぶせない仕様ですので、 よく用いられる方法で、ビットマップによるダブルバッファリングを行ったところ、 ちらつきが抑えられましたが、極端に遅くなってしまいました。 質問1 ビットマップに描画して画面に転送するという動作は どうしたら早くできるでしょうか? 質問2 どんな方法でも結構ですので、画面のちらつきを抑える方法はないでしょうか? どんなささいなことでもかまいませんので お願いします。 不足している情報がありましたら、ご指摘ください。 補足させていただきます。 こちらの掲示版はなにか返答がなければ、もう本人は何もできませんので。

  • strchrと同じような機能をする関数を作りたい。

    文字列中から指定した文字を探すstrchr()と同じような機能の関数を自分で作りたいと思っています。 最終的には、その指定した文字を別の指定した文字に変換できるような関数にしたいと思っています。 forやwhileを使って文字を探せばいいのではないかと思っているのですが・・・。 アドバイスやヒントがあったらよろしくお願いします。

  • システム DLL の無効な再配置について質問です。

    HD Audio Driver をインストール後、PCを起動すると下記のメッセージを表示するようになってしまいました。 RTHDCPL.EXE-システム DLL の無効な再配置 DLL user32.dllがメモリ内で再配置 再配置が起きたのはc:\WINNT\system32.dllがwindowsシステムDLLのために予約されているアドレス範囲を使用していたためです。ベンダに確認してください。 HD Audio Driver を再インストール、HTML Helpランタイムコンポーネントのアンインストールも行いましたが、状況は変わりませんでした。 何が原因かが解らず困っています。 構成は自作PCで OS:Windows XP Professional CPU:Pentium4 マザーボード:ASUS P5LD2-VM-JAYGZ です。 よろしくお願い致します。

  • 以前も質問したのですが、0x00000050について

    以前に質問したのですが解決せず、困っています。 WinXPを起動するとブルーバックになり、以下のようなエラーが現れます。 0x00000050(0xCCE40000,0x00000000,0x804DCDF8,0x00000000) Beginning dump of physical memory このとに、100をカウントして再起動するのですが同じブルーバックを表示します。 現在の構成は CPU:Pen4 3.2GHZ マザー:P4GD1 グラフィックカード:GeForce 6600 メモリ:DDR 512M一枚 このブルーバックになる前にオンボードのオーディオドライバを入れました。そのときに「このプログラムはWindowsに正式に対応していません」見たいなエラーが出ました。OSCDを入れて再インストールしようとしてもブルーバックになってしまいます。メモリチェックはかけてエラーは報告されませんでした。

  • C言語でのソート方法

    学校でC言語でのソートをやっていてやりたい事が出来たのですがそれの簡単な方法がわかりません。 内容は「ソート方法をExcelの規定の並べ替え順序」にすることです。 わたしはif文を使ったり、並べ替え順序を配列にいれたりなどしかおもいつきません。 ほかになにかあるのでしょうか?(関数など) 参考:http://office.microsoft.com/assistance/hfws.aspx?AssetID=HP051996691041&CTT=1&Origin=EC010229831041&QueryID=ogP8lDGBO&respos=2

    • 締切済み
    • noname#16765
    • C・C++・C#
    • 回答数4
  • CreateDialogについて

    CreateDialogをもちいて、表示するダイアログの設定をしています。CreateDialogは、関数が成功するとウィンドウハンドルが返りますが失敗して、NULLが返ってきてしまいます。この失敗について、どのようなことが起こると失敗するか、失敗する理由について教えてください。 実行形式ファイルでは正常でしたが、DLLに移植しようとしてうまくいきません(ダイアログが表示されません)。 コンパイル、リンク時にはこれに関わるメッセージはありませんでしたので、原因究明に困っています。 よろしくお願い致します。

  • レジストリの文字列から

    レジストリの設定でキーがオープンに成功し、キーの値を取得したとき(キーの種類は文字列)その値がフォルダを生成できるかのチェックはどのようにしたらいいでしょうか?例C:\BACKUP(成功)、C:BACKUP(失敗)

  • 絶対パスの取得について

    C言語の絶対パスの取得方法をどのようにするかで迷っています。 「stdlib.h」の「_fullpath」という関数を見つけたのですが、ほかにいい関数はないでしょうか?

    • 締切済み
    • noname#16765
    • C・C++・C#
    • 回答数6
  • 文字数の限界

    つい最近、友人から「コマンドライン引数として受け取れる最大文字列数は、どれくらいかわかる?」と聞かれました。 コマンドライン引数を保存する配列の要素数を決める際に、コマンドライン引数として渡すことができる文字列の限界(または、一般的に想定している文字数)を要素数にしたいとのことだったのですが、どなたか教えていただけないでしょうか? あと、ほかに文字数の上限が設定されているようなもの(例 ファイル名など)があれば教えてください。

  • 絶対パスの取得について

    C言語の絶対パスの取得方法をどのようにするかで迷っています。 「stdlib.h」の「_fullpath」という関数を見つけたのですが、ほかにいい関数はないでしょうか?

    • 締切済み
    • noname#16765
    • C・C++・C#
    • 回答数6
  • ソフトウェアからオープンされているファイルの確認

    たとえば、メモ帳でもいいのですが、【test.txt】がオープンされているとします。プログラムから【test.txt】が現在オープンされているか確認をしたのですが、そのようなAPIはありますか? MSDNで_lopenで確認するサンプルはありましたが、16bit版なので使えません。 CreateFileの引数等でわかるものなのでしょうか?

  • ソフトウェアからオープンされているファイルの確認

    たとえば、メモ帳でもいいのですが、【test.txt】がオープンされているとします。プログラムから【test.txt】が現在オープンされているか確認をしたのですが、そのようなAPIはありますか? MSDNで_lopenで確認するサンプルはありましたが、16bit版なので使えません。 CreateFileの引数等でわかるものなのでしょうか?

  • ソフトウェアからオープンされているファイルの確認

    たとえば、メモ帳でもいいのですが、【test.txt】がオープンされているとします。プログラムから【test.txt】が現在オープンされているか確認をしたのですが、そのようなAPIはありますか? MSDNで_lopenで確認するサンプルはありましたが、16bit版なので使えません。 CreateFileの引数等でわかるものなのでしょうか?

  • WaitForSingleObjectの使い方について

    こんにちは。 WaitForSingleObjectを使って、スレッドがシグナル状態になるまで待機するために、以下のようにコーディングしました。 WaitForSingleObject( threadHandle, INFINITE ); ところが上記だと、スレッドが正常にシグナル状態にならなかった場合に、永遠に待ち続けフリーズしてしまう可能性があること以下のサイトで知りました。 http://hitokuso.kicks-ass.org/progtips.html#1 while( ::WaitForSingleObject( threadHandle, 50 ) == WAIT_TIMEOUT ) { MSG msg; ::GetMessage( &msg, NULL, 0, 0 ); if( !IsDialogMessage( &msg ) ) // ダイアログ内の場合 { ::TranslateMessage( &msg ); ::DispatchMessage( &msg ); } } 上記のようにwhileループで回し、タイムアウトだったらメッセージを処理しているようなのですが、タイムアウト時間として50ミリ秒を指定しているので、一瞬だけ待ってすぐにメッセージ処理を継続しているような気がします。これでは、スレッドがシグナル状態になるまで待たないような気がするのですが… まだまだ知識不足のため、見当違いな疑問を持っているのかもしれませんが、どなたかアドバイス・ご教授をお願いいたします。