作了一个名为LineSample的windows应用程序.
程序中WNDCLASS wndclass;忘了一句wndclass.hInstance=hInstance,10个属性只注册了9个。编译时并没有什么问题,就是不能运行,后来发现,不是不能运行,而是运行后并不能看见,我打开任务管理器一看,了不得!有20多个LineSample.exe在运行,应为我打开了很多次LineSample.exe。
我说昨天做的好几个程序怎么都不能运行,原来问题出在了这里!我曾怀疑我的U盘是不是坏了,但运行其他程序可以!我怀疑机房管理员是不是又重装机了,把C盘的某个组件搞丢了。但用VC建的hello world程序却能运行!
有一个程序我忘了hwnd=CreateWindow(..)也产生了同样的问题,并且在编译时给个警告,说hwnd没有初始化就在ShowWindow(hwnd,nCmdShow);中用了。
这种问题是隐蔽而危险的,运行了大量exe文件而不关闭,必然耗费着内存,我想很多死机的情况大概都是这样产生的,后台运行着无用的程序,而你又在桌面上看不到它,从而无法关闭它。当你但开一个什么程序,发现没有什么响应,其实它已经打开了,只是你看不到它,你或者继续打开它,或者放弃,打开其它程序,只要这个程序不关闭,它就耗费着内存,这样的程序多了,机器就变得非常卡,从而容易死机。