首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么打开一个文件,并且向他发送消息

2012-03-07 
如何打开一个文件,并且向他发送消息我想做一个程序A.exe,运行A.exe后将自动打开 d:\1.TXT ,然后向1.txt

如何打开一个文件,并且向他发送消息
我想做一个程序A.exe,运行A.exe后将自动打开 "d:\1.TXT ",然后向1.txt发送WM_CHAR的消息,我写的简单的伪码如下:
shellexecuteex();//打开1.txt
hwnd   =   getforegroundwindow();  
sendmessage(hwnd,   WM_CHAR,   WPARAM( 'C '),   NULL);
结果发现1.txt虽然打开了,但是消息是发给A.exe的窗口的。
另外,如何根据一个打开的进程的句柄来获得该进程的id?
谢谢了!!

[解决办法]
刚写的测试代码

#include <windows.h>


int _tmain(int argc, _TCHAR* argv[])
{
//打开程序
HINSTANCE hIns = ShellExecute(NULL, _T( "open "), "notepad.exe ", NULL, NULL, SW_SHOW);
if((INT)hIns > 32)
{

int nCount(0);
const int nInterval = 200;
const int nMax = (5*1000)/nInterval;
HWND hWnd(NULL);

//在5秒内查找notepad窗口
while(1)
{
Sleep(200);
nCount++;
hWnd = FindWindow(_T( "notepad "), NULL);
if(hWnd != NULL || nCount > nMax)
{
break;
}
}


if(hWnd != NULL)
{
//查找编辑框窗口
HWND hEdit = FindWindowEx(hWnd, NULL, _T( "Edit "), NULL);
if(hEdit != NULL)
{
//设置信息
TCHAR* lpsz = _T( "hello world! ");
SendMessage(hEdit, WM_SETTEXT, NULL, (LPARAM)lpsz);
}
}


}
return 0;
}

热点排行