双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

beginthread的线程函数不执行

CaryChen CaryChen 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
线程函数RunModule里面程序不执行,各位提供点问题的可能原因,谢谢

void RunModule(LPVOID lpParam)
{
SHELLEXECUTEINFO* pseinfo = (SHELLEXECUTEINFO*)lpParam;
if (NULL == pseinfo)
return ;

HWND hWnd =::FindWindow(NULL, pseinfo->lpParameters);

if (NULL == hWnd)
::ShellExecuteEx(pseinfo);
if (pseinfo->hProcess)
::WaitForSingleObject(pseinfo->hProcess, INFINITE);

...
}

void CInfoManager::RunTKBModule(LPCTSTR lpszFilePath, LPCTSTR lpszWnidowTitle, HWND *phWnd)
{
ASSERT(lpszFilePath != NULL);
ASSERT(AfxIsValidString(lpszFilePath));
ASSERT(lpszWnidowTitle != NULL);
ASSERT(AfxIsValidString(lpszWnidowTitle));

HWND hWnd = ::FindWindow(NULL, lpszWnidowTitle);
SHELLEXECUTEINFO seinfo;
seinfo.hwnd = NULL;
seinfo.fMask = SEE_MASK_NOCLOSEPROCESS;
seinfo.lpVerb = _T("Open");
seinfo.lpFile = lpszFilePath;
seinfo.nShow = SW_SHOW;
seinfo.lpParameters = lpszWnidowTitle;
seinfo.cbSize = sizeof(seinfo);
_beginthread(RunModule, 0, (LPVOID)&seinfo);
Sleep(1000);

while (NULL == hWnd && phWnd)
{//这里死循环
Sleep(0);
hWnd = ::FindWindow(NULL, lpszWnidowTitle);
}
if (phWnd)
*phWnd = hWnd;
}
...全文

相关推荐

多线程编程在C++中的使用:_beginthread函数

注意,在实际的多线程编程中,还需要考虑线程的安全性、死锁等问题,并采取相应的措施进行处理。在C++中,可以使用互斥量(mutex)来实现线程之间的同步,并使用全局变量或线程局部存储(Thread Local Storage,TLS)来实现数据的共享。头文件,然后定义了线程函数,使用_beginthread函数创建线程,并在主函数中等待线程结束。在使用_beginthread函数创建线程之前,我们需要定义一个线程函数。一旦我们定义了线程函数,就可以使用_beginthread函数来创建线程。

CodeGu

windows C++多线程(四):_beginthread的使用

windows创建线程一般都使用CreateThread,该函数与CRT有冲突,尽量不要使用该函数,应该用_beginthread,结束线程用_endthread,这两个函数可以成套的使用。 使用这两个函数需要包含的头文件#include <process.h> _beginthread声明如下 ACRTIMP uintptr_t __cde...

令狐掌门

深入解析_beginthread在多线程创建中的应用

多线程编程是现代软件开发中不可或缺的一部分,它允许程序同时执行多个任务,从而提高效率和响应性。在C/C++中,Microsoft Visual C++运行时库提供了一个简单而直接的方式来创建和管理线程,这就是函数。通过这个函数,开发者可以轻松地创建新的执行线程,让应用程序能够利用多核处理器的优势。本文将详细介绍函数的使用方法和相关技术,帮助读者深入理解多线程创建的过程,并探讨如何有效地管理线程以避免常见的编程陷阱。

君子心理

【带状电容器计算用于电容式触摸传感器应用】半数值模型的电容式触摸传感器集成于金属基材涂层中研究(Matlab代码实现)

内容概要:本文针对电容式触摸传感器在金属基材上应用时易受干扰导致信号衰减的问题,提出一种集成于金属基材涂层中的带状电容器半数值计算模型。通过理论推导建立传感器电容的数学模型,设定合理的边界条件并采用数值方法求解,利用Matlab实现完整的仿真代码,对传感器在金属背景下的电容特性进行精确建模与性能分析。该方法有效提升了传感器的灵敏度与抗干扰能力,适用于高精度、复杂环境下的触摸感应场景,具有良好的工程应用价值。研究不仅提供了详细的建模流程与仿真验证,还开放了可复现的代码资源,便于后续优化与拓展。; 适合人群:从事电容式传感器设计、嵌入式系统开发、人机交互技术研究及相关领域的科研人员,以及具备电磁场理论基础和Matlab编程能力的硕士、博士研究生;; 使用场景及目标:①用于金属表面电容式触摸传感系统的建模与性能优化;②为抗金属干扰传感器提供有效的半数值仿真方法与技术支撑;③辅助高校科研与教学中对电容耦合机制的理解及仿真平台搭建; 阅读建议:建议结合Matlab代码逐模块调试,深入理解模型中几何参数、材料属性及边界条件对电容输出的影响规律,可进一步推广至其他复杂结构或非理想环境下的传感器设计中。

荔枝科研社

(Multisim课设资料)最全面函数信号发生器(三角波+正弦波+方波信号+锯齿波仿真设计+报告文档

内容概要:本文档是一份综合性科研技术资源汇总,系统梳理了工程与计算机科学领域的多项关键技术及其实现方法,涵盖图像处理、路径规划、无人机应用、通信技术、信号处理、电力系统优化、车间调度、雷达技术、微电网与综合能源系统调度等多个前沿方向。文档重点提供了基于Matlab和Simulink的丰富仿真案例,包括裂纹检测、双目视觉体积测量、卡尔曼滤波状态估计、永磁同步电机控制、无功优化、多目标调度算法(如NSGA-II、粒子群算法)在能源与交通系统中的应用,以及遗传算法、差分进化、人工蜂群等智能优化算法的代码实现。资源强调理论与实践深度融合,配套完整的仿真模型、算法代码与实验结果,具有较强的工程复现价值和科研指导意义。; 适合人群:具备一定编程基础的研究生、科研人员及从事自动化、电气工程、控制工程、通信、人工智能等相关领域工作的技术人员,尤其适合有1-3年工作经验的研发人员。; 使用场景及目标:①用于高校课程设计、毕业设计、科研项目开发和技术复现;②支撑电力系统优化、智能制造调度、智能交通路径规划、无人机控制等实际工程问题的算法研究与仿真验证;③帮助读者掌握主流优化算法与信号处理技术的核心原理与代码实现。; 阅读建议:建议读者结合文中提供的Matlab/Simulink代码与仿真模型进行实践操作,优先选择与自身研究方向相关的主题深入学习,并参考所提供的网盘链接获取完整资源以辅助调试与复现实验结果。

稷下科研社
评论 15
收藏 已收藏
分享
返回顶部
CaryChen
进程/线程/DLL 15,466 成员 49,169 内容