[疑难][100分][导致]【疑难求助100分】什么情况会导致程序异常但是主线程句柄却是有效的
09月 17th, 2008 by admin
Posted in VC/MFC | No Comments »
我们程序的基本框架是这样的:
一个进程监控其他几个进程,使用它们的主线程句柄作为信号量,来判断其是否正常。
现在出现的情况是:其中一个进程已经挂了(对所有的操作都不响应了,连窗口都无法打开),
但是监控进程却无法检测到信号量,即它的主线程句柄还是有效的。
不知什么情况下会出现这种现象,谢谢大家了。麻烦你举例说明,可以另外加分,再次感谢!
对所有的操作都不响应了,连窗口都无法打开
这并不意味线程结束了。失去响应的情况很多,典型的例子就是由于逻辑错误使主线程进入死循环。但如果操作系统没有结束它,或认为结束它,它就一直在。
所以这种办法似乎不是太有效
你有点误解,正常情况下,被监控程序退出时(正常退出或者异常),
其他主线程句柄的信号量将自动触发,使监控线程能够知道。
当然可以通过你提到的Keep Alive来避免这种情况,程序还是“正常”的,但是不工作了
2楼说的挺清楚的了,你应该用1楼的方法。
你想想:
你监控的进程被死锁了,卡死在某上地方不断的等待,但他并不是退出或者异常,这时他还能按你说的那样:
“其他主线程句柄的信号量将自动触发,使监控线程能够知道。 ”
呵呵,你的这个方法确实不是很合理,用一楼的方法好一点。你不出错的话,一楼的方法并不会像你说的那样“正常,但是不工作了”,如果卡死了或者线程被挂起了,他不工作了,监控进程在一段时间后就认为他不是alive的。
并不是句柄还在,程序就一定会工作
应该是判断程序是否正常工作比较好
使用心跳,如果心跳都停了,那也快挂了。
gz
窗口程序,可以用WaitForInputIdle重新设计一个等待过程试试.
[100分][悬赏][实现]100分悬赏C++实现的windows下VPN源码
09月 7th, 2008 by admin
Posted in VC/MFC | No Comments »
小弟最近遍寻资料,但暂时只知原理大致如何,实现还有问题。
由于时间关系,所以来此询问。其实不一定要源码,关键地方的实现提点下可也(不要只理论,谢谢)
annvily2005@yahoo.com.cn
源码没有,不过可以给你提供一个思路:
需要驱动,虚拟一个网络适配器,和你的物理网卡桥接(也可以不虚拟网络适配器,直接做一个网络适配的filter驱动),然后在驱动里过滤特定ip段的包,就是你要vpn的专网ip段,属于这个ip段的就封装成vpn指定的格式发给vpn公网网关,也就是封装后透给物理网卡的驱动继续处理,不是的直接透给物理网卡的驱动继续处理。收到vpn公网网关来的包则解封装,然后透给上层程序。
对上层程序来说这一切都是透明的
up
通过查找相关资料,我当然知道那些实现的源码要获取的话是不易的。所以我才说关键地方提点下
感谢ls,结贴后给分。
VPN服务器的编写确实不懂,现在暂时有几个问题不明了:
1.VPN的服务是否是通过修改注册表等开启。因为经常看到通过配置系统来实现VPN的,所以有这个想法。
2.关于使用隧道技术:既然在服务器形成IP映射,那么这样点到点之间的通讯不都得通过服务器转发,那样对服务器负担不是加大了。如果这样的话,用STUN不是更好
3.VPN构建VLAN,要让同一VLAN的用户相互知道对方,那服务器的发送频率跟发送量不是很大,通常怎么处理来避免
刚找到一些linux下开源的代码,看看先。
openvpn就是个开源的,但坦白说,openvpn的质量和性能和windows服务器本身带的VPN服务功能根本不是同一个级别的,只不过openvpn是开源的,也可以在linux中用,所以还是不少人在用罢.也说一句,开源的东西的源代码,实在太难看得懂了,代码基本上不规则的,而且说明少得可怜,这样的代码如果在软件工程中的课,肯定是0分的.
openvpn的代码看的人晕。。。
VPN客户端代码是花钱买的。。。。3000RMB。汗
直接用ras好了,都是现成的api函数,查找资料方便,
开源工程,OpenVPN,你自已去看看,写得不错
VNP不是开源的吗?
哦,是VPN,我看成VNP了,不好意思。
[100分][Windows][Developers]100分再求Windows 95 Developers Guide英文电子版的免费链接谢谢啦
08月 29th, 2008 by admin
Posted in VC/MFC | No Comments »
100分再求Windows 95 Developers Guide英文电子版的免费链接?谢谢啦
?!?!
我只是想学SDK编程,这本书听说太牛了,想看看英文的。
http://jjhou.csdn.net/win95-a-developers-guide.pdf
只是没reader,不知道是不是英文原版的
英文原版的很难找
谢谢,这是中文版。
英文版确实很难找,不过这本书翻译的已经十分不错了。就是有些名词怪怪的。所以想看下原版。
我也有同感,有些句子确实不容易懂,如下:
“㆒旦WM_QUIT 進入執行緒訊息佇列㆗排隊”
可能是我们看不习惯,英文版的专业词汇应该更准确一些。
楼主如果找到了,别忘了给我一份,我的邮件:zaodt_ms#hotmail.com
up
[100分][Windows][Developers]100分再求Windows 95 Developers Guide英文电子版的免费链接谢谢啦
08月 29th, 2008 by admin
Posted in VC/MFC | No Comments »
100分再求Windows 95 Developers Guide英文电子版的免费链接?谢谢啦
?!?!
我只是想学SDK编程,这本书听说太牛了,想看看英文的。
http://jjhou.csdn.net/win95-a-developers-guide.pdf
只是没reader,不知道是不是英文原版的
英文原版的很难找
谢谢,这是中文版。
英文版确实很难找,不过这本书翻译的已经十分不错了。就是有些名词怪怪的。所以想看下原版。
我也有同感,有些句子确实不容易懂,如下:
“㆒旦WM_QUIT 進入執行緒訊息佇列㆗排隊”
可能是我们看不习惯,英文版的专业词汇应该更准确一些。
楼主如果找到了,别忘了给我一份,我的邮件:zaodt_ms#hotmail.com
up
[100分][Windows][Developers]100分再求Windows 95 Developers Guide英文电子版的免费链接谢谢啦
08月 29th, 2008 by admin
Posted in VC/MFC | No Comments »
100分再求Windows 95 Developers Guide英文电子版的免费链接?谢谢啦
?!?!
我只是想学SDK编程,这本书听说太牛了,想看看英文的。
http://jjhou.csdn.net/win95-a-developers-guide.pdf
只是没reader,不知道是不是英文原版的
英文原版的很难找
谢谢,这是中文版。
英文版确实很难找,不过这本书翻译的已经十分不错了。就是有些名词怪怪的。所以想看下原版。
我也有同感,有些句子确实不容易懂,如下:
“㆒旦WM_QUIT 進入執行緒訊息佇列㆗排隊”
可能是我们看不习惯,英文版的专业词汇应该更准确一些。
楼主如果找到了,别忘了给我一份,我的邮件:zaodt_ms#hotmail.com
up
[100分][Windows][Developers]100分再求Windows 95 Developers Guide英文电子版的免费链接谢谢啦
08月 29th, 2008 by admin
Posted in VC/MFC | No Comments »
100分再求Windows 95 Developers Guide英文电子版的免费链接?谢谢啦
?!?!
我只是想学SDK编程,这本书听说太牛了,想看看英文的。
http://jjhou.csdn.net/win95-a-developers-guide.pdf
只是没reader,不知道是不是英文原版的
英文原版的很难找
谢谢,这是中文版。
英文版确实很难找,不过这本书翻译的已经十分不错了。就是有些名词怪怪的。所以想看下原版。
我也有同感,有些句子确实不容易懂,如下:
“㆒旦WM_QUIT 進入執行緒訊息佇列㆗排隊”
可能是我们看不习惯,英文版的专业词汇应该更准确一些。
楼主如果找到了,别忘了给我一份,我的邮件:zaodt_ms#hotmail.com
up
[100分][Windows][Developers]100分再求Windows 95 Developers Guide英文电子版的免费链接谢谢啦
08月 29th, 2008 by admin
Posted in VC/MFC | No Comments »
100分再求Windows 95 Developers Guide英文电子版的免费链接?谢谢啦
?!?!
我只是想学SDK编程,这本书听说太牛了,想看看英文的。
http://jjhou.csdn.net/win95-a-developers-guide.pdf
只是没reader,不知道是不是英文原版的
英文原版的很难找
谢谢,这是中文版。
英文版确实很难找,不过这本书翻译的已经十分不错了。就是有些名词怪怪的。所以想看下原版。
我也有同感,有些句子确实不容易懂,如下:
“㆒旦WM_QUIT 進入執行緒訊息佇列㆗排隊”
可能是我们看不习惯,英文版的专业词汇应该更准确一些。
楼主如果找到了,别忘了给我一份,我的邮件:zaodt_ms#hotmail.com
up
[100分][编程][启用]100分求编程禁/启用打印机的指点
08月 24th, 2008 by admin
Posted in VC/MFC | No Comments »
用C/C++实现,对串并口或USB接口的打印机进行禁用和启用功能。
要求,禁用打印机时,除了打印机以外,其它的并串口或USB接口仍旧可以用。也就是说在禁用状态时,不管打印机插哪个口都没法用,但在那些接口上插其它设备时却可以正常使用。
请高手指点。
从哪停?注册表?还是其它地方?
这个方法应该很多了,StopService(),直接调net stop等等
我是初学,能不能请你稍微详细说一下?
有一个打印服务spooler,可以在控制台下输入net start spooler/net stop spooler来启动或者停用该服务,当然也可以编程调用这两个命令实现。
另外,也可以调用StartService/StopService函数启用和停用,具体参考msdn。
多谢!orz..
[100分][线程][得到]【100分提问】线程中得到的HTMLDocement*在线程外无效
07月 24th, 2008 by admin
Posted in VC/MFC | No Comments »
我在onButton事件中新建了一个线程
在线程中得到了网页的HTMLDocument2指针
存入全局变量HTMLDocument2* phd2
如果在该线程内执行
IHTMLElementCollection* pColl = NULL;
hr = phd2->get_all( &pColl );
那么hr返回S_OK 而且pColl不为空
可是如果在另一个onButton事件里执行该语句
那么pColl的地址为0X00000000
怎么回事?
我在按第二个按钮前已经先按了第一个按钮并成功得到网页的HTMLDocument2指针了
并且通过跟踪调试也发现线程中能成功得到pColl
为什么在线程外就不灵了?
额 能告诉我为什么吗?
额 能告诉我为什么吗?
我把得到的HTMLDocument2指针存到了全局变量了
为什么编译没有出错?
额 能告诉我为什么吗?
我把得到的HTMLDocument2指针存到了全局变量了
为什么编译没有出错?
我按照你的叙述写了程序,没有问题的。即使在第二个按钮中又创建一个线程也是可以的。
请仔细检查你的代码。
额 算了
反正在不在同一个线程不是很重要
我试了在同一个线程 是可以的
给分了
[100分][—-][谈谈]送100分—-大家谈谈VC架构前景或编程经历体验
07月 17th, 2008 by admin
Posted in VC/MFC | No Comments »
庆祝装修18天暨注册23天。
这些天,
忙着装修房子,每天也就来一两个小时。居然得了这么多分,先送100分。
呵呵,等赚多了,再送分。
感觉好象技术分比较值钱吧,凑个问题散点技术分。
恩,就提个技术问题,别担心,不难。:)
请大家说一说,MFC架构的前景和未来VC架构可能的发展趋势,或者谈谈自己在编程中遇到的有意义或有趣的问题或经历。最好是自己的体会,这比较自然。
(斑斑,这个应该算技术问题吧?)
jf是最重要的
答:体会是“难”
编程很累,架构更繁
MFC架构MS还在不在更新啊,VS2008里面的不知道怎样,
不用MFC 用WTL 架构还谈不上….
MFC有很多地方需要改进,但毕竟是被广泛采用的架构。
全世界这么多人用MFC写出这么多优秀的程序,有太多现成的解决方案,新出炉的技术短期内还很难替代它。
感受:微软的技术更新太快,跟着走很累。尽管现在.net,C#一堆东西出来,不过还是很多人用VC6.0,反正能解决问题就行,技术的先进是次要。
感觉还是楼主比较牛,我看了你的帖子才知道有vs2008.
感觉自己消息太闭塞了,谢谢呵。
前几年.net平台大力推广,弄得MFC和整个native C++的地位很尴尬。
不过最近有一些迹象表明这种状况正在改变。
我对VC和C++的未来还是充满信心的:)
楼上怎么说“不过最近有一些迹象表明这种状况正在改变”?
没有不累的事情 …
还在用vc6.0,没有资格谈vc前景啊……
呵呵,一直在用MFC,不过这方面的知识好想还是很欠缺,学习中….
VS2008新特性在这里
http://msdn2.microsoft.com/en-us/vstudio/aa948851.aspx
说到开发效率,.net 高很多,框架也清晰
MFC速度快,但不喜欢他的开发模式,删删插插改改的,连个函数入口点都被隐藏
就一般的开发软件而言更看好.net
很多人说mfc过时了,郁闷!
我们单位还要,MFC一直坚挺。。。
up
作为一个应用程序框架,MFC很难被代替
在windows平台下,把网络、数据库、界面、组件等等都放在一个框架之内,MFC现在依然是最好的。
但是随着软件规模的扩大,软件开发的趋势是精细分工,用一个框架完成一套大型的软件产品越来越困难,很多项目都是java、c、动态语言等等齐上阵,用到的框架更是数不胜数。在这个趋势下,MFC的前景~~~~
当然了,开发一些小工具辅助产品啥的,MFC依旧不错
mfc不错。我喜欢。
.net用着不错
VS2008 beta2版都出来啦,我觉得能解决问题就好,哪个合适用哪个.
希望VC前途光明
to xuxingok(HPMAX):
我是从Blog上看到的一些文章,推测的
vc的架构越来越被更多的人所接受,用微软的操作系统。vc不会被淘汰。
windows存在一天VC就会继存在。
所以JF
好,JF
大家可以看下这篇blog,以及下面的讨论
http://blogs.msdn.com/vcblog/archive/2007/08/09/soma-blog-visual-c-futures.aspx
dawda
托管了
2008的IDE更慢了。呵呵
MFC来说,没有多大变化了,MFC很稳定的10年没有什么变化。充分证明了MFC设计的很好。
没什么过失不过时的吧.!
—-
jf
JF
当Ajax这样新瓶装老酒的技术出现,再次证明技术不是最重要的,关键是你用撑握的技术来做什么。语言不是最重要的,重要的是你的语言含义。
~~~ lalala
接分 接分 …
前景说不上来,但是信心当然是有的咯..因为那些鼓吹的很爽的东西也没让人有多爽…
编程经历体验,暂时也没撒经验…
1.
复制代码很重要, 要有自己的一堆代码库 这样就能极大的加快自己写程序的速度..一些事情的道理没必要多次研究,关键是写程序有时候感觉不象用手拿个东西那么快那么容易,你再强,一个指针偶尔还是会耽误你几分钟的..所以能有一堆代码供自己复制真的是很爽的事情..嘎嘎
jf
跟着MS太累了
思想要紧跟时代,工具无所谓,当然要有迅速学会新工具的能力。
谁是 Somasegar??
VC倒是不用担心,要是MS能收一下私心,把C++做到各平台兼容、自由移植的话,
那就开心死了。
我也知道是在做梦。。。。。。。。
什么都一样,解决问题是关键哈
反正是累啊~~~努力学吧~~~
今天冒充了回电工,自己装的灯具。忙到现在,累死我了,晚来了点,呵呵,这么多人了。
看来分数相对少了点,没办法,权限不够,别担心,都有分,想得高分的包容些。:)
有几个朋友谈的很不错。欢迎把有趣的想法,自己的想法谈出来,顶贴的也给点分。
这个年代,技术更新太快了,辛苦的就是程序员,尽管受到不少冲击,VC的作用还能保持滑坡式的稳定,不过作为工具,C,C++,广泛应用的程度,和深度,很多其他语言没法相比。除非出现了一种更好的语言。VC,MFC,是微软的在这一领域的基础,其应用必然决定于微软是否能继续提供好的支持,随着软件应用范围和平台的不断拓展,微软实际上这一领域正在变弱,这是我个人的看法。不一定对。
当某一天微软出的系统让VC6.0编的程序不能很好的在上面运行了,它就没有前景了,
我们现在就像在Windows3.1还没出来的的时候问Turbo C的前景一样。
明天可能要出差,开始要忙一阵子了,
结贴了,不能再挺了,不然有些拿不出手了,来者有分,搞一次大锅饭,都差不多,
这是偶第一次结贴,
呵呵,兄弟们(没姐妹们吧),别嫌分少,
:)
呵呵,我想说的都被大家说完了,我就顶吧!
偶是一个新手,没资格谈架构前景,只能帮你ding了