操作系统实验

 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 }

 

你可能感兴趣的:(操作系统)