大家好Q我想把一个HANDLE型变量(一个进程的句柄)的值写进注册表,然后再把这个值从注册表读出来?可以吗?怎么做呢?谢谢了!

解决方案 »

  1.   

    可以,但没有意义,因为HANDLE值在关闭后就不能再用了,记录在注册表中的内容通常是给以后再次运行程序时使用的。
      

  2.   

    有用呀,我要等到那个进程结束呀!所以我用WAITFORSINGLEOBJECT(进程句柄,。。
      

  3.   

    试试将句柄以 REG_DWORD 类型写入注册表 DWORD dwValueData = (DWORD)handle;
      

  4.   

    我想楼主是不是要跨进程传递呢。如果是使用Mutex或者Event这样的对象,可以在非创建进程中通过Mutex或者Event的名称打开他们,取得句柄。
      

  5.   

    发送方
    ::PostMessage(hWndOtherProcess, WM_POST_NEW_MESSAGE, hHandle, 0)接受方
    LRESULT OnMessagePostArrived(WPARAM wParam, LPARAM lParam)
    {
       HANDLE hHandle = wParam;
    }
      

  6.   

            CWinApp *app = AfxGetApp();
    app->WriteProfileInt(_T("Values_Path"), _T("m_Value"), m_Value); 
    app->WriteProfileInt(_T("Values_Path"), _T("m_Value1"), m_Value1); 
    app->WriteProfileInt(_T("Values_Path"), _T("m_Value2"), m_Value2); //写注册表函数。
    说明:
             Values_Path   - 注册表中的子目录,根目录是你的应用程序的目录。
             _T("m_Value")- 键值名称
             m_Value       - 键值