問題タブ [comctl32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1024 参照

windows - アプリケーションが XP SP3 と comctl32 に関連するマニフェストでロードされない

私のアプリケーション (C++、Mingw でコンパイル、主に wxWidgets、Boost、および SFML を使用) は、Windows 7 または Vista でスムーズに動作しますが、Windows XP SP3 では正しく動作しません。実行可能ファイルが Windows XP/Vista/7 ルックアンドフィールを使用できるようにする .manifest ファイルがあります。

マニフェスト ファイルを削除/名前変更すると、Windows XP SP3 で実行可能ファイルを起動できます (ただし、コントロールが古くなっています)。マニフェスト ファイルをそのままにしておくと、Vista/7 では問題なく動作しますが、Windows XP SP3 では、アプリケーションはメモリに読み込まれます (タスク マネージャーで確認できます) が、何もしません。エラー メッセージは表示されず、クラッシュすることさえありません。

コンソールを表示するために再コンパイルすると、コンソールには何も表示されません。

gdb を使用してデバッグすると、デバッガーに「Starting program:...」と表示され、ブロックされます (Control+C は機能しません)。

実行可能ファイルで Dependency Walker を使用しようとしました。
マニフェスト ファイルを含むログは次のとおりです: http://pastebin.com/J6T8KBH8
(マニフェストを含まないログは次のとおりです: http://pastebin.com/zrYzRaWE / この場合、アプリケーションは問題なくロードされ、まだ実行されています。ログの最後に。)

Dependency Walker で赤で表示されている行を強調表示しました。これは、comctl32 で欠落しているプロシージャを参照しています。また、ログは特定のエラーなしで中断されているようです。

マニフェストを使用しているときに、クラッシュやメッセージも表示されずにアプリケーションが中断されるように見える理由について何か考えはありますか?

0 投票する
1 に答える
509 参照

windows - 同じウィンドウに対する複数の SetWindowSubclass の呼び出し順序は保証されていますか?

SetWindowSubclassコントロール (この場合は、複数行の編集フィールド) に対して 2 つの異なるサブクラス プロシージャを設定するために使用しています。

1 つのサブクラスは、編集コントロールに固有の「編集」機能と、任意のコントロールに固有の他の「基本」機能です。これらを「ベース」に適用する順序に関係なく、「編集」の前に呼び出されているようです。

他の誰かがこの問題にぶつかりましたか?

0 投票する
1 に答える
1157 参照

x509certificate - Windows 7 64 ビットで FindPrivateKey が機能しない

フレームワーク 4.0 用にコンパイルされた .net サンプル FindPrivateKey をダウンロードし、さまざまなプラットフォーム (32 ビット、64 ビット、任意の CPU) で試しましたが、機能しませんでした。常に同じエラー: 序数 345 がダイナミック リンク ライブラリ comctl32.dll に見つかりませんでした。Windows 7 Enterprise の 64 ビット版を使用しています。このメソッドの呼び出しは失敗します。matches = X509Certificate2UI.SelectFromCollection(store.Certificates, "Select certificate", "Select the certificate to find the location of associated private key file:", X509SelectionFlag.SingleSelection); ここで何が問題になる可能性がありますか?

アレクサンダル

0 投票する
1 に答える
332 参照

c# - MCM_GETSELRANGE メッセージを MonthCalendar に送信するための P/Invoke 署名は何ですか?

MCM_GETSELRANGE Windows メッセージを標準の MonthCalendar に送信しようとしています。ドキュメントに基づいて、次のことを試してみましたが、運が悪かったです(日付は何も返されません[ゼロ以外に設定されていないため]、成功したことを示すゼロ以外の戻り値が返されます?):

pinvoke.net には、これをどのように呼び出すべきかについての提案はないようです。

ありがとうございました

0 投票する
1 に答える
147 参照

.net - .Net コントロール、PInvoke DoReaderMode API で「ReaderMode」を有効にします

.Net でコントロールをパン/スクロールするために「ReaderMode」を有効にしたいと考えています。私が見つけた最も近いものは、この Win API 関数http://msdn.microsoft.com/en-us/library/bb775599(VS.85).aspxでした。ただし、これを呼び出す方法がわかりません。ドキュメントには、

注 この関数は、パブリック ヘッダーでは宣言されていません。これを使用するには、Comctl32.dll から序数 383 としてアクセスする必要があります。

以前に名前のない関数を呼び出したことはありません。VB.Net でこれを行う方法を説明できる人はいますか?

0 投票する
2 に答える
265 参照

vb.net - エラーPInvoking関数

コントロールの一部として次のコードがあります。SetReaderMode関数は構造を作成し、ここで説明されている関数http://msdn.microsoft.com/en-us/library/bb775599(VS.85).aspxを呼び出します。

このコードを実行すると、エラーが発生します

保護されたメモリの読み取りまたは書き込みを試みました。これは多くの場合、他のメモリが破損していることを示しています。

問題が何であるかわかりません。私は何が間違っているのですか?

0 投票する
1 に答える
428 参照

windows - FlatSB_GetScrollInfo が見つかりませんでした ... COMCTL32.dll

製品を C++Builder 2007 から RAD Studio XE にアップグレードしたばかりで、同時にいくつかのサードパーティ コンポーネントを変更しました。

現在、Vista で製品を実行すると、次のエラーが表示されます。


Project1.exe - エントリ ポイントが見つかりません

プロシージャ エントリ ポイント FlatSB_GetScrollInfo が、ダイナミック リンク ライブラリ COMCTL32.DLL 内に見つかりませんでした。

わかった


16 進エディタで COMCTL32.DLL を開くと、FlatSB_GetScrollInfo という名前が見つかります。\Windows\ フォルダーの下に COMCTL32.DLL ファイルしか見つかりません。ローカル インストールはありません。

誰がこれを引き起こしているのか知っていますか?

0 投票する
1 に答える
1680 参照

winapi - COMCTL32.DLL が 2 回ロードされた場合の GetModuleHandle および GetProcAddress

COMCTL32.DLLバージョン5.82.7601.17514で1回、バージョン6.10.7601.17514で1回、2回ロードされるプロセス内で実行しています。レガシー バージョンは、プログラムがリンクされているレガシー DLL によってロードされ、他のバージョンは新しい DLL によってロードされます。

私が使用する場合GetModuleHandle (L"COMCTL32.DLL")、解決されるDLLを制御できません。

GetProcAddressたとえば、reachを呼び出すとTaskDialogIndirect、null ポインターが返されます。これは、レガシー DLL のハンドルを取得したためです。

TaskDialogIndirectそれで、両方のDLLがロードされたときなど、アドレスに到達する手段はありますか。

そうでない場合、従来の DLL が の新しいバージョンで正常に動作することを期待して、プロセスが 5.82 ではなく 6.10 バージョンをロードすることを確認できますCOMCTL32か?

0 投票する
1 に答える
1916 参照

c++ - CreateDialog は失敗しましたが、GetLastError が 0 を返すのはなぜですか?

scintilla editor componentを使用して、プロジェクトのエディターを作成しています。エディターは内部スクリプト言語用で、切り取り、コピー、貼り付けなどのすべての基本機能を備えています。機能の 1 つとして、検索機能も提供しています。Ctrlユーザーが+を押すと、F理想的には次のダイアログが表示されます。

探す

しかし、何らかの理由でCreateDialog API が失敗していますが、GetLastError は 0 を返します。また、 Windows Common Controlsを使用していることにも注意してください。

>>ダイアログ作成コード

>>ダイアログのリソース エントリ

同じ問題について話している唯一のページは次のとおりです: CreateDialog Failed, but GetLastError return 0。そこに記載されている解決策を確認しましたが、私のプロジェクトでは comctl32.libにリンクしています。リソース ファイルとリソース ヘッダーも確認しました。ダイアログのエントリは適切なようです。


>>共通制御の初期化

どんな提案/アイデアも役に立ちます。ありがとう。

0 投票する
1 に答える
2637 参照

delphi - マニフェストがリソースとして追加されると、Delphi 5 で EAccessViolation が発生する

これは、私が最近見つけた最も興味深い問題の 1 つです。従来の Delphi 5 プログラムがあります (Rave Reports 4 の参照により、D2007 へのアップグレードが妨げられています)。

テンプレートで生成されたバージョン リソースを使用してプログラムをコンパイルすると、問題なく動作します。テンプレートで生成されたマニフェスト リソースもプログラムの dpr に追加されると、問題が発生します。

マニフェストは「一般的な」ASCII ファイルです。

App.dpr には、マニフェスト リソース リファレンスがあります。

マニフェストは、次の呼び出しによってコンパイルされます。

プログラムが開始されると、次の例外が発生します。

メイン スレッドのコール スタック:

リンクされた comctl32.dll:

私が見る限り、この問題は Delphi 5 と comctl32.dll コントロールとの非互換性に関連しています。Delphi VCL を最新のものに更新しました。D2007 に移行する以外に解決策はありますか?