vc++中怎么创建一个新进程
voidCMonitorServerDlg::OnBTListening(){//m_pStatueCollector=newCStatueCollector;//m_p...
void CMonitorServerDlg::OnBTListening()
{
// m_pStatueCollector = new CStatueCollector;
// m_pServerSocket = new CServerSocket(m_pStatueCollector);
m_pServerSocket->Init(700);
m_pServerSocket->SetAutoService();
m_pServerSocket->BeginListening();
//怎么创建一个新进程调用下面的Go函数 谢谢
GetDlgItem(IDC_BT_Listening)->EnableWindow(true);
GetDlgItem(IDC_BT_Listening)->EnableWindow(false);
}
void Go(CMonitorServerDlg* pDlg)
{
..............................
}
括号里这些参数怎么弄啊? 哪个管调用函数的 展开
{
// m_pStatueCollector = new CStatueCollector;
// m_pServerSocket = new CServerSocket(m_pStatueCollector);
m_pServerSocket->Init(700);
m_pServerSocket->SetAutoService();
m_pServerSocket->BeginListening();
//怎么创建一个新进程调用下面的Go函数 谢谢
GetDlgItem(IDC_BT_Listening)->EnableWindow(true);
GetDlgItem(IDC_BT_Listening)->EnableWindow(false);
}
void Go(CMonitorServerDlg* pDlg)
{
..............................
}
括号里这些参数怎么弄啊? 哪个管调用函数的 展开
展开全部
1、CreateProcess();创建进程
WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。
2、例程:
#include<stdio.h>
#include<windows.h>
intmain(intargc,char*argv[])
{
charszCommandLine[]="notepad";
STARTUPINFOsi={sizeof(si)};
PROCESS_INFORMATIONpi;
si.dwFlags=STARTF_USESHOWWINDOW;//指定wShowWindow成员有效
si.wShowWindow=TRUE;//此成员设为TRUE的话则显示新建进程的主窗口
BOOLbRet=CreateProcess(
NULL,//不在此指定可执行文件的文件名
szCommandLine,//命令行参数
NULL,//默认进程安全性
NULL,//默认进程安全性
FALSE,//指定当前进程内句柄不可以被子进程继承
CREATE_NEW_CONSOLE,//为新进程创建一个新的控制台窗口
NULL,//使用本进程的环境变量
NULL,//使用本进程的驱动器和目录
&si,
&pi);
if(bRet)
{
//不使用的句柄最好关掉
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
printf("新进程的ID号:%d\n",pi.dwProcessId);
printf("新进程的主线程ID号:%d\n",pi.dwThreadId);
}
return0;
}
展开全部
进程还是线程?
如果是进程的话就是另外一个程序了,而Go也要写在那个程序里;
创建进程使用CreateProcess.
如果是进程的话就是另外一个程序了,而Go也要写在那个程序里;
创建进程使用CreateProcess.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是我以前做的
//------------------------------------------
DWORD threadId;
readhThrd=CreateThread(NULL, 0,Procread, (LPVOID)1, 0, &threadId );
//启动监控进程
//-------------------------------------------
DWORD WINAPI Procread(LPVOID param)//监控进程
{
....
}
-------------------------------
全问别人多没意思啊,自己用msdn或者百度找找
像函数用法这些基本上都能找到的
//------------------------------------------
DWORD threadId;
readhThrd=CreateThread(NULL, 0,Procread, (LPVOID)1, 0, &threadId );
//启动监控进程
//-------------------------------------------
DWORD WINAPI Procread(LPVOID param)//监控进程
{
....
}
-------------------------------
全问别人多没意思啊,自己用msdn或者百度找找
像函数用法这些基本上都能找到的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DWORD threadId;
readhThrd=CreateThread(NULL, 0,Procread, (LPVOID)this, 0, &threadId );
void Go(LPVOID* p) //要是全局函数
{
CMonitorServerDlg* pDlg=(CMonitorServerDlg* pDlg)p;
}
readhThrd=CreateThread(NULL, 0,Procread, (LPVOID)this, 0, &threadId );
void Go(LPVOID* p) //要是全局函数
{
CMonitorServerDlg* pDlg=(CMonitorServerDlg* pDlg)p;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以看看这个资料,说点挺全面的
参考资料: http://hi.baidu.com/hustwu/blog/item/73a735d1550b43d0562c844d.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询