“__uncaught_exception”: 找不到標識符

背景:以前的正常跑着的系統,由於新需求需要在主進程裏新建一個線程用於將某窗體置頂

 

採用<thread.h>這個庫進行編輯多進程,結果發現

“__uncaught_exception”: 找不到標識符

查了網上的一些教程,發現並沒有完美的解決辦法,考慮沒有添加<thread.h>時代碼能夠正常編譯,因此測試了一下,註釋掉<thread.h>編譯通過,果斷放棄這個類,採用了windows自帶的API

 

添加進程方法


DWORD WINAPI TopMost(LPVOID lpParamter)
{
    HWND hMis;
	do
	{
		hMis = FindWindow(NULL, L"APP_SOFTPOS");
	} while (hMis==NULL);

	SetWindowPos(hMis,HWND_TOP,0,0,0,0,SWP_NOACTIVATE);//窗口置頂 SWP_NOACTIVATE or SWP_NOMOVE  or  SWP_NOSIZE
    return 0L;
}

執行進程 


	HANDLE hThread = CreateThread(NULL, 0, TopMost, NULL, 0, NULL);
    CloseHandle(hThread);

編譯通過。。。perfect!!!!

 

 

下面附上<thread.h>的方法

#include <iostream>
#include <thread>
#include <Windows.h>
 
using namespace std;
 
void thread()
{
	for (int i = 0; i < 5; i++)
	{
		cout << "Thread 01 is working !" << endl;
		Sleep(100);
	}
}

 
int main()
{
	thread task(thread);
	
	task.join();
/***
join方法可能會導致子進程被主進程阻塞,可通過detach分離進程的方式改善
task.detach();
***/
 
	return 0;
}

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章