C++ 如何将hwnd类型数据存储到平面文件中,并将其返回到hwnd类型变量中?
如何将hwnd类型数据存储和检索到平面文件中,并将其返回到hwnd类型变量中 我现写信如下:C++ 如何将hwnd类型数据存储到平面文件中,并将其返回到hwnd类型变量中?,c++,windows,winforms,C++,Windows,Winforms,如何将hwnd类型数据存储和检索到平面文件中,并将其返回到hwnd类型变量中 我现写信如下: HWND g_hWndApp, g_hWndApp1; ofstream myfile; myfile.open ("D:\\sri.txt"); myfile << g_hWndApp; myfile.close(); int nCmdShow = 6; ShowWindow(g_hWndApp,nCmdShow); 但是g_-hWndApp和g_-hWndApp1的值不一样,我哪里出错
HWND g_hWndApp, g_hWndApp1;
ofstream myfile;
myfile.open ("D:\\sri.txt");
myfile << g_hWndApp;
myfile.close();
int nCmdShow = 6;
ShowWindow(g_hWndApp,nCmdShow);
但是g_-hWndApp
和g_-hWndApp1
的值不一样,我哪里出错了
注意:我使用kinect根据Z深度控制窗口的最大化和最小化,因此我需要知道最小化的窗口,以便在特定条件下最大化相同的窗口。您正在将指向字符串的指针转换为整数。这显然行不通 只需将文件中的整数直接读入变量:
int hwnd;
myReadFile >> hwnd;
g_hWndApp1 = (HWND)hwnd;
请注意,当您关闭程序并重新启动程序并重新创建窗口时,窗口的
HWND
。除非您正在与其他程序或其他东西通信,否则将其存储在文件中是毫无意义的。要存储任意二进制数据,通常需要执行以下操作:
ofstream myfile;
myfile.open ("D:\\sri.txt", std::ios_base::binary);
myfile.write(&g_hWndApp, sizeof(g_hWndApp));
每次创建窗口时,它都会得到一个新的HWND。它将永远不会像以前一样。为什么要将HWND存储在文件中?您的最终目标是什么?HWND只是窗口的一个句柄,它只有在程序关闭之前才有用,所以为什么要将其写入文件?为什么不将输入读入
HWND
,镜像输出操作?我使用kinect根据Z深度控制窗口的最大化和最小化,所以我需要知道哪个窗口被最小化,因此,要在特定条件下最大化该窗口…这并不能解释为什么需要将窗口句柄保存到文件中。我使用kinect根据Z深度控制窗口的最大化和最小化,因此我需要知道哪个窗口被最小化,以便在特定条件下最大化该窗口。。
ofstream myfile;
myfile.open ("D:\\sri.txt", std::ios_base::binary);
myfile.write(&g_hWndApp, sizeof(g_hWndApp));
ifstream myReadFile("D:\\sri.txt", ios_base::binary);
if (myReadFile.is_open()) {
myReadFile.read(&g_hWndApp1, sizeof(g_hWndApp1));
}