AfxGetInstanceHandleの使い方 – プログラミング – Home

通知
すべてクリア

AfxGetInstanceHandleの使い方


ひか
 ひか
(@ひか)
ゲスト
結合: 24年前
投稿: 8
Topic starter  

W-NT VC++2.0 MFC
実行中のアプリの名前を求めるため
dLLの中につぎのコーディングをいれたところ、AfxGetInstanceHandle関数を実行したとき
アプリのなかでassert エラーが起きました。

hInst=AfxGetInstanceHandle();
GetModuleFileName(hInst,&path,size);

どなたか理由がわかるでしょうか?
よろしくおねがいします。
なおGetModuFileName(NULL,&path,size);だけにするとpathが取得でき、
エラーも起きません。


引用解決済
トピックタグ
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

NULL値が返却されているようですが
コードを記述している場所に問題は無いのでしょうか


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

AfxGetInstanceHandle()はMFCが初期化される前に呼び出すと失敗します。
たとえば、static定義されたクラスオブジェクトのコンストラクタなど。


返信引用
ひか
 ひか
(@ひか)
ゲスト
結合: 24年前
投稿: 8
Topic starter  

woodさん、dairygoodsさん
ありがとうございます。
エラーの原因はまだ特定できてないのですが

質問があります。
hInst=AfxGetInstanceHandle();
GetModuleFileName(hInst,&path,size);
で求めたpathと
GetModuleFileName(NULL,&path,size);
で求めるpathは同じものになると思っているのですが
pathに違いがでてくるのはexeとDllの位置関係がどのような場合ですか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました