Code Bye

大家有没有遇到过进程冲突的问题

我也不知道是不是进程冲突,这是我第一次遇到,我有一个win32应用窗口程序每次在迅雷看看打开的时候程序能跑起来但窗口每次都显示不了,而且任务管理器里面也没有它的进程,但当我结束迅雷看看进程的时候它就能出来,这个是为什么呢

10分
是什么程序?是不是端口冲突,迅雷占用了他的端口,初始化失败就直接退出了,但是也该报个错误吧
10分
DX硬件加速冲突。我猜。
引用 1 楼 hnwyllmm 的回复:

是什么程序?是不是端口冲突,迅雷占用了他的端口,初始化失败就直接退出了,但是也该报个错误吧

可能是初始化失败,但我的程序没有报错,当我结束迅雷之后我的程序窗口就会加载出来

10分
迅雷占用了某一个资源 而你的程序恰巧需要这个的资源  无限等待
5分
引用 3 楼 qq_16600121 的回复:
Quote: 引用 1 楼 hnwyllmm 的回复:

是什么程序?是不是端口冲突,迅雷占用了他的端口,初始化失败就直接退出了,但是也该报个错误吧

可能是初始化失败,但我的程序没有报错,当我结束迅雷之后我的程序窗口就会加载出来

如果是你的程序那就好办了,调试跟踪下看看为啥不出来就可以了

5分
引用 2 楼 zhao4zhong1 的回复:

DX硬件加速冲突。我猜。

本ID通常猜得还是很准的。

引用 5 楼 hnwyllmm 的回复:
Quote: 引用 3 楼 qq_16600121 的回复:
Quote: 引用 1 楼 hnwyllmm 的回复:

是什么程序?是不是端口冲突,迅雷占用了他的端口,初始化失败就直接退出了,但是也该报个错误吧

可能是初始化失败,但我的程序没有报错,当我结束迅雷之后我的程序窗口就会加载出来

如果是你的程序那就好办了,调试跟踪下看看为啥不出来就可以了

额,这个还真不是我的程序,但我可以调试,谢谢了

引用 6 楼 zhao4zhong1 的回复:
Quote: 引用 2 楼 zhao4zhong1 的回复:

DX硬件加速冲突。我猜。

本ID通常猜得还是很准的。

那如何确定是DX硬件加速的问题呢,我查了一下好像是显卡?这块不懂,我也不确定我的程序也会需要DX硬件加速,所以比较纳闷

引用 4 楼 hlx_beat 的回复:

迅雷占用了某一个资源 而你的程序恰巧需要这个的资源  无限等待

毫无头绪,不知如何确定啊,唯一出路就是调调程序了,谢谢指教

DX硬件加速资源每次只能被一个进程使用。
引用 10 楼 zhao4zhong1 的回复:

DX硬件加速资源每次只能被一个进程使用。

调试了一下发现问题是出在对话框创建过程当中,最在一个创建非模太对话框函数中没有返回,具体是这样的:
hWnd = ::CreateDialogIndirect(hInst, lpDialogTemplate, pParentWnd->GetSafeHwnd(), AfxDlgProc);
当我关掉迅雷时候才能返回值,可能就是资源被占用了

引用 10 楼 zhao4zhong1 的回复:

DX硬件加速资源每次只能被一个进程使用。

错了,问题是因为程序加载了一个字体,然后通过WM_FONTCHANGE消息时没有成功

SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明大家有没有遇到过进程冲突的问题