HWND FindWindow(LPCTSTR lpClassName, //类名指针
LPCTSTR lpWindowName //窗口名指针
);
LPCTSTR lpWindowName //窗口名指针
);
解决方案 »
- 感觉现在论坛查个资料太难了
- 高分求助:如何在已连接的socket(TCP/IP连接)中插入包?
- VC SOCKET UDP编程,某次RECVFROM能保证接收某次对方SENDTO对吧?想请问这个是因为什么呢?
- 请问:MSN的更改配色方案,或者QQ2009调颜色的实现原理。
- MFC能写64位的应用程序吗?
- 如何在程序一开始运行时,光标就在一edit box中闪烁
- 关于注册表修改:高手请进!
- 这是一个连表的插入行为,有点错误,请大家帮忙看看。。。
- 关于中文输入的Hook!
- LPCTSTR 和 CString 到底要怎样才能相互转换
- 请教大侠简单的网络问题。不知可不可以用CSocket把自己的机器看作服务器,我对网络编程不是很了解.
- 请问如何把诸如"1.0e-3"这样的字符转化为float
SetForegroundWindow(hwnd);这样用估计就行了,hwnd就要自己找了!
這方式其實是我最先嘗試的。他只是用來設置焦點,不發生任何表面上的動作.
to iuyon:
還是不行.
//是可以达到要求的
//楼上的条件太特殊了,反正单机状态下是可以的
//注意 CWnd不能为空
// 标题变化的问题
void CDemoDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CWnd* pWnd=FindWindow(NULL,"计算器"); if(pWnd==NULL) return;
pWnd->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
}
{
CWnd* pWnd=FindWindow(NULL,"计算器");
if(pWnd==NULL) return;
pWnd->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
SetTimer(1,5000,NULL);
}
CDemoDlg::OnTimer(n.)
{
KillTimer(1);
CString FileAddress="//這裡輸入應用程式的路徑.如C:\\Program.exe";
PROCESS_INFORMATION Info2;
STARTUPINFO info;
ZeroMemory(&info, sizeof(info));
info.cb = sizeof(STARTUPINFO); if(!CreateProcessW(FileAddress,NULL, NULL, NULL, FALSE,NULL,NULL ,NULL, &info, &Info2)){
AfxMessageBox(_T("CreateProcess failed."));
}
}要注意在這5秒鐘内你隨便點一個窗口讓你的主界面不顯示在最上層。過5秒後你再看看執行應用程式的路徑所指定的exe。這將使得它不會永遠佔據最上層.
你那樣總是成立的。你可以嘗試這樣的一個工作。就是在你的上面寫的程序里添加如下代碼.
void CDemoDlg::OnButton1()
{
CWnd* pWnd=FindWindow(NULL,"计算器");
if(pWnd==NULL) return;
pWnd->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
SetTimer(1,5000,NULL);
}
CDemoDlg::OnTimer(n.)
{
KillTimer(1);
CString FileAddress="//這裡輸入應用程式的路徑.如C:\\Program.exe";
PROCESS_INFORMATION Info2;
STARTUPINFO info;
ZeroMemory(&info, sizeof(info));
info.cb = sizeof(STARTUPINFO); if(!CreateProcessW(FileAddress,NULL, NULL, NULL, FALSE,NULL,NULL ,NULL, &info, &Info2)){
AfxMessageBox(_T("CreateProcess failed."));
}
}要注意在這5秒鐘内你隨便點一個窗口讓你的主界面不顯示在最上層。過5秒後你再看看執行應用程式的路徑所指定的exe。這將使得它不會永遠佔據最上層.
void CXieTestDlg::OnButton1()
{
// TODO: Add your control notification handler code here
// CWnd* pWnd=FindWindow(NULL,"我的电脑");
// if(pWnd==NULL) return;
// SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
SetTimer(1,5000,NULL);
//要注意在這5秒鐘内你隨便點一個窗口讓你的主界面不顯示在最上層}void CXieTestDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
switch(nIDEvent){
case 1:{
KillTimer(1);
CString FileAddress="C:\\WINNT\\System32\\calc.exe";
PROCESS_INFORMATION Info2;
STARTUPINFO info;
ZeroMemory(&info, sizeof(info));
info.cb = sizeof(STARTUPINFO);
if(!CreateProcess(FileAddress,NULL, NULL, NULL, FALSE,NULL,NULL ,NULL, &info, &Info2)){
AfxMessageBox(_T("CreateProcess failed."));
}
SetTimer(2,4,NULL);
break;}
case 2:{
KillTimer(2);
CWnd* pWnd=FindWindow(NULL,"计算器");
if(pWnd==NULL) return;
pWnd->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
break;}
}
CDialog::OnTimer(nIDEvent);
}问题你将发现