以下方法我试过了,不管用。提示没有fexplore.exe这个命令,在“运行”里都找不到这个命令。
2、打开指定的文件夹 TCHAR szAppName[_MAX_PATH] = TEXT("fexplore.exe");//资源管理器程序 TCHAR szCmdLine[_MAX_PATH] = TEXT(\\Windows\\); CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);
多谢各位了!
2、打开指定的文件夹 TCHAR szAppName[_MAX_PATH] = TEXT("fexplore.exe");//资源管理器程序 TCHAR szCmdLine[_MAX_PATH] = TEXT(\\Windows\\); CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);
多谢各位了!
解决方案 »
- 多个客户端与一个服务端 文件传输
- Connectex在什么版本SDK里可以用 ?
- vc2008 里清除文本屏幕的一行应该用什么函数?
- 匿名管道
- 我想禁用键盘的win键,有什么提示吗?(50分)
- CSDN的朋友,您如果有时间,给我写一个,快速傅立叶变换的程序把。
- 怎样将一个float型数值赋给一个Editbox?????
- 问一下,我们国内有没有开发像联众那样的在线游戏的开发商呀?如有,是什么公司呀!!
- 关于继承的问题
- 再论关于多线程进度条,最高分相送!谁用过http://www.vckbase.com/article/controls/1.htm,怎么把自己的处理过程和这个结合起来?
- 如何查看CString对象的内存地址
- 使用CreateProcess无法打开某可执行文件,请高手来支招
ShellExecute(NULL, "open", "explorer" "", NULL, NULL, 1);
PROCESS_INFORMATION pi = {0}; CreateProcess(szAppName, szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, &si, &pi);
测试了没问题呀,试试下面的:
// 用CreateProcess打开资源管理器,并定位到C:\Windows文件夹#include <windows.h>
#include <tchar.h>int _tmain()
{
TCHAR szCmd[MAX_PATH] = _T("\"C:\\Windows\\Explorer.exe\" \"C:\\Windows\"");
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi = {0}; if (CreateProcess(NULL, szCmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
MessageBox(NULL, _T("打开成功"), NULL, MB_OK);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
} return 0;
}
// Start the child process. First suspend this process
isSuccessFlg = CreateProcess( pName, // pe file name.
pCmdLine, // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
CREATE_SUSPENDED, // NULL, // CREATE_DEFAULT_ERROR_MODE.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&g_curPi // Pointer to PROCESS_INFORMATION structure.
);
if( !isSuccessFlg )
{
printf( "--------- VEAPI RunProcess CreateProcess failed (%d). --------- \n", GetLastError() );
hProcess = NULL;
return isSuccessFlg;
}
else
{
// Assigns a process to an existing job object
isSuccessFlg = AssignProcessToJobObject(g_VEJobList[jobIndex].jobHandle, g_curPi.hProcess);
/*
BOOL WINAPI AssignProcessToJobObject
(
__in HANDLE hJob,
__in HANDLE hProcess
);
*/
if( !isSuccessFlg )
{
DWORD errorCode = GetLastError();
printf("--------- VEAPI RunProcess AssignProcessToJobObject error errorCode = %d --------- \n", errorCode);
return isSuccessFlg;
} // Resume the thread
::ResumeThread(g_curPi.hThread); // Set output parameter
*hProcess = g_curPi.hProcess;
}
isSuccessFlg = CreateProcess( pName, // pe file name.
pCmdLine, // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
CREATE_SUSPENDED, // NULL, // CREATE_DEFAULT_ERROR_MODE.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&g_curPi // Pointer to PROCESS_INFORMATION structure.
);
if( !isSuccessFlg )
{
printf( "--------- VEAPI RunProcess CreateProcess failed (%d). --------- \n", GetLastError() );
hProcess = NULL;
return isSuccessFlg;
}
else
{
// Assigns a process to an existing job object
isSuccessFlg = AssignProcessToJobObject(g_VEJobList[jobIndex].jobHandle, g_curPi.hProcess);
/*
BOOL WINAPI AssignProcessToJobObject
(
__in HANDLE hJob,
__in HANDLE hProcess
);
*/
if( !isSuccessFlg )
{
DWORD errorCode = GetLastError();
printf("--------- VEAPI RunProcess AssignProcessToJobObject error errorCode = %d --------- \n", errorCode);
return isSuccessFlg;
} // Resume the thread
::ResumeThread(g_curPi.hThread); // Set output parameter
*hProcess = g_curPi.hProcess;
}
WCHAR szSysDir[120];
// execute windows\system32\taskmgr.exe
GetSystemDirectory(szSysDir, 120);
ShellExecute(NULL, L"open", L"taskmgr.exe", NULL, szSysDir, SW_SHOWNORMAL);