問題タブ [registerclass]

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 投票する
2 に答える
1129 参照

c# - C# から RegisterClass を呼び出していますか?

CreateWindowEx と RegisterClass を使用してウィンドウ (WinForm ではない) を作成しようとしています。CreateWindowEx の使用方法を理解しましたが、RegisterClass に関するいくつかの点で行き詰まっています。WNDCLASS 構造体で、これらを設定するにはどうすればよいですか。

WNDPROC lpfnWndProc C#で欲しいWndProcメソッドへのハンドルです。

HINSTANCE hInstance これは何へのハンドルですか? この場合の「インスタンス」とは何ですか?

ありがとう!

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

winapi - ウィンドウハンドルなしでウィンドウクラスの余分なメモリにアクセスするには?

ウィンドウ クラスを登録する必要があり、その直後に、クラスのウィンドウが作成される前に、余分なメモリ セクション (cbClsExtra が参照するセクション) にデータを設定します。問題は、クラスの名前またはアトムではなく、クラスを識別するために SetClassLong が HWND を予期することです。

これを達成する方法は何ですか?

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

c++ - RegisterClassがエラーコード2で失敗する

作成しているプログラムのスプラッシュを作成していますが、RegisterClassが失敗し続けます(2:システムは指定されたファイルを見つけることができません)。

私のコードはこれです:

g_hinstanceHINSTANCE DllMain取得は
classnameウィンドウクラスの名前です

0 投票する
4 に答える
9215 参照

c++ - クラス ウィンドウへのハンドルを取得しても、BringWindowToTop が機能しない

次の方法でクラスを登録しています。

InitInstance メソッドを呼び出して、クラスのコンストラクターでウィンドウを作成します。

現在、他のアプリケーションでウィンドウを見つけて、一番上に表示しようとしています:

以下のコードで新しく作成されたウィンドウを編集できます

pWndPrev NULL ではないため、ウィンドウを見つけることができますが、アプリケーションが前面に表示されません。CNDSClientDlg の代わりに他のクラスを登録する必要がありますか? MFC アプリケーションを一番上に表示したいと考えています。

0 投票する
3 に答える
2243 参照

c++ - RegisterClassEx が無効なパラメーターとして失敗する - C++

アプリケーションでへの呼び出しRegisterClassExが失敗し、エラー コード 87「パラメーターが正しくありません」が表示されます。

私が間違っていることを誰かが知っていますか?ありがとう。

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

activex - ActiveX の 2 番目のインスタンスで CreateWindowEx がエラー 1407 CLASS_NOT_REGISTERED で失敗する

こんにちは、私はいくつかのレガシー コードに取り組んでいます。「インストーラー」として使用される ATL ActiveX は、後でインストールするためにサーバーからファイルをダウンロードします。正常に動作する「進行状況バー ウィンドウ」があります。問題は、同じプロセス (Windows XP IE7) で ActiveX の別のインスタンスを開始すると、2 番目のインスタンスの進行状況バーがインストールされないことです。

そのため、エラー 1407 CLASS_NOT_REGISTERED が表示されます。登録に関連するコードを見つける唯一の場所はDLLMainです(これも私の懸念です))アタッチケースの場合:

ありがとうございました

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

winapi - Win32API-RegisterClassExエラー

私は、VC++コンパイラとVisualStudioを使用して、Win32APIを介して単純なウィンドウを開こうとしています。クラスが失敗する理由を知りたいのですが。ポインターなしで割り当て、ポインターとして割り当て、関数に参照として送信してみました。それでも、私が何をしようとしても、RegisterClassEx関数はtrueを返すことを拒否します。

これはなぜですか、そしてそれについて何ができるのですか?

からWinMain

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

c# - Mono.WinForms 使用時の Unity エディターでの RegisterClass エラー

Unityで外部ウィンドウを作成するために使用Mono.WinFormsしていますが、シーンを再生するたびにこのエラーメッセージが表示されることを除いて、うまく機能します(ただし、Unityを新しく起動したときは初めてではありません):

ウィンドウ クラスを登録できませんでした。win32 エラー 0。

シーンを停止したときにフォームクラスが登録解除されていないためだと考えました。Unity を再起動すると登録が解除されますが、ビルドを作成しても問題はありません。これは理にかなっています。

このポップアップ エラーが 2 回発生します。原因は次のとおりです。

  1. myForm = new Form1();
  2. myForm.Show();

XplatUIWin32.csファイルのコードを調べて、RegisterWindowClassメソッドを見つけました。Mono がクラスを登録すると、次のようになります。

だから私はこれを行うことで2番目のエラーを取り除くことができました:

だから私の質問は、なぜそれが2番目のポップアップエラーでしか機能しないのか、そしてどうすれば最初のものを取り除くことができるのですか? ガベージコレクションを強制しようとしましたが、役に立ちませんでした。別の登録済みクラス名を見つけようとしましたが、ここでも運がありません。

参考までに、System.Windows.Forms.dll の mono バージョンを参照として使用し、コードを Visual Studio でコンパイルして、生成された DLL を Unity にインポートします。これらのポップアップエラーとは別に、うまく機能します。

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

winapi - 既存の Windows クラスを新しい名前で登録しても安全ですか?

私は、VC2010 と混合 MFC/Win32 を使用してフレームワークを作成しています。いくつかのコントロール タイプがあり、それらはすべて独自のウィンドウ クラスを登録します。そのうちのいくつかは、次の例のように、標準ウィンドウ クラスのいずれかの WindowProc を使用します。

それはすべて長い間機能していましたが、今ではヒープが破損しています。ただし、CreateEx 呼び出しで WC_BUTTON クラスを直接使用すると、ヒープが破損することはありません。

WC_BUTTON から WindowProc を使用するウィンドウ クラスを登録するこの方法が安全かどうかは疑問です。それは...ですか?

安全である場合、当然のことながら、他の場所でヒープの破損の経路を探す必要があります。しかし、そうでない場合、私がやろうとしていることを安全に行う方法はありますか? (つまり、既存のクラスを新しい名前で登録します。これは、任意のウィンドウ ハンドルを指定して、ウィンドウ クラス名からコントロールを認識できるようにするために行います)

文字列の割り当てでヒープの破損が発生し、すべてのパラメーターが正しいように見えることを言及する必要があります。したがって、問題はその前のどこかにあるに違いありません。

前もってありがとう、マーティン