1 #include <stdio.h> 2 #include <iostream> 3 #include <winuser.h> 4 #include <windows.h> 5 using namespace std; 6 7 void FileMapping(void) 8 { 9 //打开共享的文件对象。 10 HANDLE m_hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, L"TestFileMap"); 11 if (m_hMapFile) 12 { 13 //显示共享的文件数据。 14 LPTSTR lpMapAddr = (LPTSTR)MapViewOfFile(m_hMapFile,FILE_MAP_ALL_ACCESS, 0,0,0); 15 OutputDebugString(lpMapAddr); 16 } 17 else 18 { 19 //创建共享文件。 20 m_hMapFile = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL, PAGE_READWRITE,0,1024, _T("TestFileMap")); 21 //拷贝数据到共享文件里。 22 LPTSTR lpMapAddr = (LPTSTR)MapViewOfFile(m_hMapFile,FILE_MAP_ALL_ACCESS, 0,0,0); 23 std::wstring strTest(_T("TestFileMap")); 24 wcscpy(lpMapAddr,strTest.c_str()); 25 26 FlushViewOfFile(lpMapAddr,strTest.length()+1); 27 } 28 } 29 30 int main(int argc, char **argv) { 31 //char szCommandLine[] = "C:\\test"; 32 STARTUPINFO si = {sizeof(si)}; 33 PROCESS_INFORMATION pi; 34 si.dwFlags = STARTF_USESHOWWINDOW; 35 si.wShowWindow = TRUE; 36 bool bRet = CreateProcess(TEXT("C:\\Windows\\system32\\notepad.exe"), NULL, NULL, NULL, FALSE, 0, 37 NULL, NULL, &si, &pi); 38 if (bRet) { 39 CloseHandle(pi.hThread); 40 CloseHandle(pi.hProcess); 41 printf("新进程的ID号:%d\n", pi.dwProcessId); 42 printf("新进程的主线程ID号:%d\n", pi.dwThreadId); 43 } 44 45 46 //============================================== 47 48 //system("pause"); 49 return 0; 50 }
时间: 2024-10-20 06:40:02