首页 > 代码库 > 操作系统实验

操作系统实验

 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     else18     { 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 }

 

操作系统实验