392708 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

ひとりゴト

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2005年12月21日
XML
カテゴリ:プログラミング
うみうみ屋さんの掲示板の情報をそのまま流用。


id = getid("i")
DEF_DLL GetWindowThreadProcessId(Long, var Long):Long: User32
DEF_DLL OpenProcess(Long, Long, Long):Long: kernel32
DEF_DLL EnumProcessModules(Long, var Long, Long, var Long):int: PSAPI
DEF_DLL GetModuleFileNameExA(Long, Long, var String, Long):Long: PSAPI
PROCESS_ALL_ACCESS = $1F0FFF


dim ProcessId, ModuleHandle, ModulesCount
Filept = " "
for i = 0 to 8; Filept=Filept+Filept; Next // メモリ確保

GetWindowThreadProcessId(IDtoHnd(id), ProcessId)
ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, 0, ProcessId)
Ifb EnumProcessModules(ProcessHandle, ModuleHandle, 1, ModulesCount)
GetModuleFileNameExA(ProcessHandle, ModuleHandle, Filept, Length(Filept))
EndIf

msgbox(Filept)



ボクの使用用途は多重起動防止など。
同じプログラムを複数実行していて、
実行ファイル名、パスが異なる場合に、
ウィンドウタイトルが同じでも区別できるようになる。

ボクはLockON MTを2つ起動して使わせてもらってる。
置き場所と実行ファイル名はそれぞれ異なっていて。
右の音を録音するLockonR.exe と 左のLockonL.exeと分けてる。

LockONには2つとも常駐していてもらわないと困るのだけど、
たまーにどちらかが異常終了してしまうことがある。
タスクやスクリプトで自動的に再起動させるようにしてるけど、
区別がつかないと重複起動してしまう場合がある。
それで実行ファイル名を調べて区別してるというわけですハイ。

アプリケーション実行中にタイトルが変わらない場合は、
実行時にタイトルを変更する方法があるけど、
LockONは変わっちゃう。録音中は触れないし。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2005年12月22日 00時47分52秒
コメント(4) | コメントを書く
[プログラミング] カテゴリの最新記事


PR

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

 dmaster@ Re:さぽすて(03/05) り(ryさん、ありがと。 市役所で6万…

お気に入りブログ

荒天 New! ladysmokerさん

カテゴリ

バックナンバー

2024年10月

フリーページ


© Rakuten Group, Inc.
X