
VC++コンソールアプリでのインスタンスハンドルの取得
VC++コンソールアプリケーションでインスタンスハンドルを取得しようとしているのですが、
HINSTANCE hi = (HINSTANCE)GetWindowLong(HWND_DESKTOP, GWL_HINSTANCE);
を実行すると、NULLが戻ってきます。
どこかまずい部分があるのでしょうか。
なお、第一引数のウィンドウハンドルは不明なため、
いくつかのWebサイトに習い、HWND_DESKTOPを指定しました。
No.1ベストアンサー
- 回答日時:
>実行すると、NULLが戻ってきます。
GetLastError()は確認しましたか?
>なお、第一引数のウィンドウハンドルは不明なため、
>いくつかのWebサイトに習い、HWND_DESKTOPを指定しました。
適当なモノ指定するのはどうかと……。
アクセス権の問題もあるかと思いますけど、成功した場合は、Shellのインスタンスハンドルが返されるだけのような気がしますが。
GetModuleHandle(0); で、取れるようです。
# 取れる値って、リンカで指定したベースアドレス…のようです。
# 各プロセスでほとんど同じ値が取れることになりますけど。
# プロセス空間が異なる為、問題はない…(他の実行ファイルをLoadLibrary()した場合に変わることになりますね)
GetLastErrorは1400(ウィンドルハンドルが不正)が返されていました。
GetModuleHandle(0)を実行するとH'00400000が戻りました。
試しにコンソールアプリケーションのかわりにWINDOWSフォームアプリケーションを作成してみると、
関数WinMainの引数hInstanceにもH'00400000が格納されていました。
これで次のステップに進めそうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- その他(SNS・コミュニケーションサービス) ゲームでボイスチャットを使いたいんですが、親にどう説明したらいいですか 2 2022/08/03 14:07
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Excel(エクセル) 別インスタンスのエクセルを制御したい 1 2023/05/10 02:03
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- 国産車 軽自動車のメーカーとハンドル操作感について、お聞きします。 ハンドルを切る時に、ハンドルが軽いのは、 4 2022/11/19 08:46
- 運転免許・教習所 教習所の問題ですが、「坂道にやむを得ず駐車する場合は、縁石や溝がある時は、上り坂ではハンドルを右に、 7 2022/10/15 13:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数名の付け方
-
private static という変数の修飾
-
C# インスタンスの破棄
-
newしないインスタンス?実体化...
-
生成したインスタンスを削除す...
-
インスタンス参照でアクセスで...
-
複数クラスで共通の関数、変数...
-
JAVA ArrayListからArrayList...
-
「インスタンス」の意味をわか...
-
マルチスレッドでのインスタン...
-
Visual Basic アクセス範囲外?
-
C#のメモリ解放についてご教授...
-
教えてください。
-
C#のスレッド処理について、ご...
-
データベースから日付型を取得...
-
ガーベージコレクション?
-
オブジェクト指向に関して。
-
Eclipse3でVisualEditorが起動...
-
javaのクラスの作り方、エラー...
-
SerialPort処理でInvokeメソッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
private static という変数の修飾
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
インスタンス参照でアクセスで...
-
C# インスタンスの破棄
-
C#において、同じインスタンス...
-
オブジェクト参照がオブジェク...
-
生成したインスタンスを削除す...
-
VB.NET getとsetの概念がわかり...
-
javaのクラスの作り方、エラー...
-
変数の参照でエラーが出てしま...
-
「インスタンス」の意味をわか...
-
インスタンスを同じ名前で作成...
-
newしないインスタンス?実体化...
-
フォームの存在をチェックする方法
-
String a = "a"; と String b =...
-
C#のメモリ解放についてご教授...
-
vb.netでFAXを送信する方法
-
他のファイルの変数参照
-
Delphiでインスタンスが作成さ...
おすすめ情報