PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
13686 00/10/24 12:36:55 RE(5):PB5.0.03: 他のアプリケーションの起動チェック(資源ゴミレス) By M.M
13682 00/10/24 10:04:41 RE(4):PB5.0.03: 他のアプリケーションの起動チェック(ただしFindWindowA以外で) By マルボロB
13656 00/10/20 18:42:36 RE(3):起動中プロセスとモジュール名を列挙する方法 (WinNT編) By Taka
13655 00/10/20 18:41:56 RE(2):起動中プロセスとモジュール名を列挙する方法 (Win95/98編) By Taka
13654 00/10/20 18:37:03 RE(1):PB5.0.03: 他のアプリケーションの起動チェック(ただしFindWindowA以外で) By Taka
13635 00/10/19 17:43:46 PB5.0.03: 他のアプリケーションの起動チェック(ただしFindWindowA以外で) By マルボロB

カテゴリ:スクリプトの記述
日付:2000年10月20日 18:41 発信者:Taka
題名:RE(2):起動中プロセスとモジュール名を列挙する方法 (Win95/98編)

【構造体】
PROCESSENTRY32{
 long Size ,
 long RefCount ,
 long ProcessID ,
 long HeapID ,
 long ModuleID ,
 long ThreadCount ,
 long ParentProcessID ,
 long BasePriority ,
 long Flags ,
 char FileName[260]
}

【外部関数宣言】
// スナップショット
function long CreateToolhelp32Snapshot( long Flags, long ProcessID ) library \"kernel32.dll\"
function long CloseHandle( long hObject ) library \"kernel32.dll\"

// プロセス情報の列挙
function long Process32First( long hSnapshot, ref PROCESSENTRY32 ProcessEntry ) 
library \"kernel32.dll\"
function long Process32Next ( long hSnapshot, ref PROCESSENTRY32 ProcessEntry ) 
library \"kernel32.dll\"

【スクリプト】
// リセット
lb_1.Reset()

// 定数
constant long TH32CS_SNAPPROCESS = 2

// 変数
long hSnap, Result
PROCESSENTRY32 pe
pe.Size = 296

// スナップショットの作成
hSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 )

// プロセス情報の列挙
Result = Process32First( hSnap, pe )
do while(Result = 1)
 lb_1.AddItem( \"#\" + String(pe.ProcessID) + \" \" + pe.FileName )
 Result = Process32Next( hSnap, pe )
loop

// スナップショットを閉じる
CloseHandle( hSnap )

【メモ】
プロセスだけでなく、ロード済みのモジュール名,スレッドなどの列挙も可能です。
この場合、Module32First/Module32Next,Thread32First/Tread32Next といったAPIを使います。
(構造体やスナップショットを作成する際のパラメータが異なるので注意が必要です)

この手法は、WinNT4では利用できません。(そもそもAPIがないんです 泣)

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.