操作系统实验

 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
", pi.dwProcessId);
42                 printf("新进程的主线程ID号:%d
", pi.dwThreadId);
43         }
44 
45 
46         //==============================================
47 
48         //system("pause");
49         return 0;
50 }
原文地址:https://www.cnblogs.com/Stomach-ache/p/4053483.html