掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スクリーンセーバー復帰後に、メッセージを受信するには? (ID:58810)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> ところで「GetModuleFileName(0,buf,len)」はC/C++前提の書き方のつもり > ですけど、VBでもこれでOKなんですかね? 私はVBを全然知らないんです。 大体使い方はそれでいいと思います。 (C/C++ならば第1引数はモジュールハンドルなのでNULLの方がいいかも) しかし、 > GetModuleFileName(0,buf,MAX_PATH) > If Right$(buf, 3)="scr" Then SendMessage(hwnd, WM_APP+1, 0, 0) これはまずそうです。 GetModuleFileNameを呼ぶ前にbufの領域を確保します。そのときに長さが MAX_PATHになっているので、Rigth関数はvbNullCharの位置からにしないといけません。 一応VBでの使い方) Private Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" _ (ByVal hModule As Long, ByVal lpFilename As String, ByVal nSize As Long) As Long Private Const MAX_PATH = 260 ' 260でしたっけ?w Public Sub Test() Dim buf As String Dim ret As Long buf = String(MAX_PATH,vbNullChar) ret = GetModuleFileName(0,buf,MAX_PATH) If ret > 0 Then buf = Left$(buf,InStr(buf,vbNullChar)) MsgBox buf End If End Sub というか、VBだったらApp.Pathで同様のことができるかとおもうのですが。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.