#include #include #include class MyQtThread : public QThread { void run() { QScriptEngine engine; qDebug() << "Hi from Qt thread " << QThread::currentThread(); } }; DWORD WINAPI myThread(LPVOID lpParameter) { Q_UNUSED (lpParameter); MyQtThread thread; thread.start(); thread.wait(); return 0; } int main(int argc, char* argv[]) { QCoreApplication app(argc, argv); DWORD myThreadID; HANDLE myHandle = CreateThread(0, 0, myThread, 0, 0, &myThreadID); WaitForSingleObject(myHandle, INFINITE); CloseHandle(myHandle); DWORD myThreadID2; HANDLE myHandle2 = CreateThread(0, 0, myThread, 0, 0, &myThreadID2); Sleep(5000); // sleep for 5 seconds WaitForSingleObject(myHandle2, INFINITE); CloseHandle(myHandle2); return 0; }