Winアプリにファイルをドラッグしてファイル名を取るために下記のような記述をして一応取り出せたのですが
str_argにような外部変数を利用するよりも正当なやり方はないのですか?
例えばメッセージのメンバに格納されている場合にはそれを使うとか・・・
よろしくお願いします
stringstr_arg;
LONG WINAPI WinProcedure(HWND hW,UINT wM,UINT wP,LONG lP);
WINAPI WinMain(HINSTANCE hI,HINSTANCE hPI,LPSTR lpszCP,int nCS)
{
WNDCLASSwc;
HWNDhW;
MSGms;
str_arg=lpszCP;
No.2ベストアンサー
- 回答日時:
コマンドラインはGetCommandLineで取得することが出来ます。
参考までに、ウィンドウを持つアプリでグローバル変数を使わない正当な方法を書いておきますね。
1.RegisterClassで、cbWndExtraの値を0以外(4バイトがいいでしょう)にして拡張領域を確保してウィンドウクラスを登録する。
2.CreateWindowのlpvParamにlpszCPを渡し、WM_CREATEで受け取ったときにSetWindowLongでlpszCPのアドレスを拡張領域にセットする。
3.各メッセージをうけてウィンドウプロシージャが呼ばれたときは、GetWindowLongでアドレスを取得して使用する。
とすれば、グローバル変数は不要です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
検索の画面がでなくなってしま...
-
Excelの上下を固定したい
-
ゲームでは結局どっちが良いの?
-
VBA .Value=.Value ?
-
FindWindowの戻り値が違う!?
-
ボタンのハンドルウィンド取得...
-
作成したウインドウのサイズを...
-
CTなどでいう,ウィンドウレベ...
-
ラジオボタンの初期指定
-
名前を付けて保存のウィンドウ...
-
ウィンドウ生成時にアクセス違...
-
VBAで単一ブック複数窓を閉じる...
-
Alt+P,Alt+NをPostmessageで送...
-
eclipseからコンソールが消えた
-
C# ウィンドウハンドルの取得
-
ExcelのBOOKが消えた!
-
リストビューでNM_CLICKを受け...
-
隠れたウィンドウの画面をキャ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
勝手にウィンドウが開いて止ま...
-
検索の画面がでなくなってしま...
-
ゲームでは結局どっちが良いの?
-
VBA .Value=.Value ?
-
Excelの上下を固定したい
-
[VBA] UserForm を Excel の W...
-
EnumChildWindowsの使い方(VBA)
-
Vba LongPtrについて教えてくだ...
-
ExcelのBOOKが消えた!
-
他のアプリケーションの終了処理
-
ラジオボタンの初期指定
-
ExcelVBAでAPIを使って外部ウイ...
-
作成したウインドウのサイズを...
-
UWSCで特定のChromeのタブをア...
-
隠れたウィンドウの画面をキャ...
-
「&HFFFF」「&H1A」とは?
-
名前を付けて保存のウィンドウ...
-
最大化と最小化ボタン
おすすめ情報