くだすれC++Builder(超初心者用)その3
■ このスレッドは過去ログ倉庫に格納されています
0427デフォルトの名無しさん
2008/03/10(月) 21:16:11以下のソースで、実行F9とビルド時S+F9では挙動がことなりよくわからなくなっています。
実行時は普通にアクティブなソフトの全パスが表示されますが、ビルドしたのを実行すると取得できません。
何かの勘違いか、コンパイラの使用知識不足としか思えません。よくないところを教えていただけないでしょうか?
#include <vcl.h>
#include <psapi.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{ HWND hWnd=GetForegroundWindow();
bool blJEJ=false; DWORD dwPID; GetWindowThreadProcessId(hWnd, &dwPID);
hWnd = OpenProcess(PROCESS_ALL_ACCESS, 0, dwPID);
DWORD ReturnSize;
if(!hWnd){ ShowMessage("if(!hWnd)");//デバッグ用//ここにhWndの値をShowMessageするにはどうすりゃいいんだ? }
if(hWnd){
char buf[MAX_PATH];
HMODULE hMod; DWORD size;
EnumProcessModules(hWnd, &hMod, sizeof(hMod) ,&size);
GetModuleFileNameEx(hWnd, hMod, buf, sizeof(buf));
CloseHandle(hWnd);//これの意味がわからない。
AnsiString str=fname; ShowMessage(str);
}
//---------------------------------------------------------------------------
へたなコードですが、素人なのでご容赦を
■ このスレッドは過去ログ倉庫に格納されています