1.问高手,即用vc编程序是不是叫做windows的sdk编程啊,说?
什么是Windows SDK SDK即software develope kit(软件开发工具包),它包含了进行Windows软件开发的文档和API函数的输入库、头文件(因为API在动态链接库中,这些动态链接库是系统的组成部分因此不用再提供,而输入库和头文件则必须,这样才能在你的程序中使用API函数)。
早期SDK是一个单独发放的包,现在在Visual C 和其他一些开发环境中已经包含了它。如果你已经安装了VC 那么就可以开始编写Windows程序了。
随着Windows系统的发展,SDK的内容越来越多,我们只要抓住最基本的方面。至于其他专门的主题,就根据自己的兴趣和技术方向进一步学习了。
不用被第一个Windows程序吓住 如果你已经开始,你的教材应该是那本经典的programming windows (petzold)或者是一本相似的书。但无论哪本书,一开始你都会面对一个基本的Windows SDK程序,这个程序有几十行。
尽管也不算长,但比C版的hello world长多了。更糟的是,里面充斥着奇怪的变量类型和常量定义,不过先不用被它吓住,让我们看看这里面有些什么。
首先会有一个#include ,嗯,没什么奇怪的,这和#inclde 没什么两样。然后是一个函数声明:LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; 有点困惑了,一下子就出来了好几个“生词”,而且函数名前面有两个修饰符也是以前没有遇到的。
好在我们还可以辨认出这是一个函数声明。再往下看是WinMain函数,又是一堆生词,我猜想你可能已经开始郁闷了。
想一遍看懂这个程序确实困难,所以看不懂也没关系。看不下去了可以看看书上的讲解。
这篇文章并不是要完整分析这个程序的,hfire不可能有petzold讲的好。 在这里hfire帮你分析一下一些陌生的东西。
首先说Windows的数据类型。尽管这些数据类型看上去很陌生,其实它们是由C的基本数据类型define的。
比如UINT就是unsinged int,PSTR就是pointer to string 的意思,猜猜就知道是char * 。 Windows还有很多系统定义的结构体,比如WNDCLASS,MSG等,这些东西见的多了就自然明白了。
Windows还有一个重要的概念,句柄。通过句柄就可以操作Windows对象。
HWND,HINSTANCE,HDC等都是句柄。 再说说Windows程序的结构。
一般有一个WinMain函数作为程序的入口点,在WinMain里面定义窗口类,进行消息循环。消息循环就是那个普通的while循环,在其中接收消息、分发消息。
然后是窗口函数WndProc,名字可以自己定。在其中用一个大的switch结构检索消息,在每个case下面写处理消息的代码。
最简单的Windows SDK程序只要写这两个函数就够了。等你的程序写长了,就要把特定的消息处理代码写成函数,以便在处理消息时调用,甚至你可以使用C 来写程序。
等你熟悉这种结构以后,就可以任意发挥了。 其他的不想说太多,学SDK很重要的是不要期望在开始时把每行代码都搞清楚。
学习的方法 当然是多写程序了。最好每个主题都写一个。
从一开始的窗口,文本显示到图形显示、控件、对话框,多写就能领会Windows编程的内涵。当第一部分学的差不多了,可以写一个综合点的程序。
最后你会发现你可以写很长的程序了,1000多行也不算长,但对于当时学C时是难以想象的。 还有重要的是多上一些专门的网站,比如VC知识库()和VC之路(有一本很好的教程,不过现在网站的东西都没了,正在恢复),另外也是一个不错的地方。
几种Windows编程方法的辨析及其它 很多初学者往往会将Windows编程和VC 混为一谈。 打开VC 的新建项目,可以看到VC 支持很多种工程。
包括命令行的,MFC的,还有就是Win32 Application,即SDK程序。使用VC 未必是编写SDK程序,编写SDK程序也未必要用VC 。
编写Windows程序的方法也不止SDK一种,还包括使用类库如MFC,OWL,使用快速开发工具如VB,Delphi。 这些方法各有各的用处。
使用SDK无疑是最麻烦的了,我们学习SDK也并非是为了用它来编软件,虽然它可以,主要是为了对Windows编程有比较清晰的认识,这样你使用MFC时就可以做到“胸中自有沟壑”。
2.一个VC 6.0的问题
没看到你说的那些ctrl+F7的错误。
但既然是光盘里的出版物,一般是不会错的。另外,由于你提到了你是对这些过期文件,执行了取消重编译,程序能正常运行。
这就意味着出版商出版的光盘还是很负责任的,没有骗财之嫌。因为人家已经在出版之前编译通过了,才会存在这些所谓的旧文件。
由此判断,多数是你的VC版本有关。根据经验,更准确的说并不是VC版本的问题,而是你用的VC安装盘里的SDK很可能是旧版,而出版商里的程序用的是新版SDK,因此VC编译时会报错。
解决:试着下载最新的SDK,或者干脆把VC换成最新的,估计时下VS2005应该都能支持了,应该不用特意去找2008,你用的是6.0吧。(当然这个解决办法不能保证解决你的问题,毕竟你没给出更详细的问题所在,但一般是SDK的问题)。
3.一个VC6.0的问题
没看到你说的那些ctrl+F7的错误。
但既然是光盘里的出版物,一般是不会错的。另外,由于你提到了你是对这些过期文件,执行了取消重编译,程序能正常运行。
这就意味着出版商出版的光盘还是很负责任的,没有骗财之嫌。因为人家已经在出版之前编译通过了,才会存在这些所谓的旧文件。
由此判断,多数是你的VC版本有关。根据经验,更准确的说并不是VC版本的问题,而是你用的VC安装盘里的SDK很可能是旧版,而出版商里的程序用的是新版SDK,因此VC编译时会报错。
解决:试着下载最新的SDK,或者干脆把VC换成最新的,估计时下VS2005应该都能支持了,应该不用特意去找2008,你用的是6.0吧。(当然这个解决办法不能保证解决你的问题,毕竟你没给出更详细的问题所在,但一般是SDK的问题)。
4.紧急求助
格式化重装系统后,首先安装最新的杀毒软件.安装好后,不要做任何工作,先进入安全模式,全盘扫描查杀,最好配合一个木马专杀.完成查毒后,把E\F盘的重要文件全部移动到其它位置,比如移动硬盘中.进行此工作时,不要连接网络.完成转移后,把移动硬盘断开,重启进入安装,全盘格式化,最好重新分区,安装成功系统后,立即安装杀毒软件\防火墙\木马专杀,连接网络,打开自动更新,安装所有补丁,自动更新速度慢,所以建议使用"360安全卫士"来扫描漏洞并修复. 如果重装系统后,病毒在其它位置,比如E\F盘中,有可能会跟随文件的转移而感染到其它磁盘.所以,安装系统后应该立即杀毒.。
5.win10更新后c++用不了了,具体的解决方法,有具体操作的图片
1、进入VC6.0的安装目录找到MSDEV.exe,将该文件更名为MSDEV3.exe或别的,应该需要改一下。2、设定它的运行的兼容性,选择以windows XP SP2模式兼容,同时选择以管理员身份运行。
3、问题就应该解决了。
如果看了上面的还不明白,就参看百度文库中别人给出的详细说明:
1、进入VC6.0的安装目录找到MSDEV.exe,将该文件更名为MSDEV3.exe或别的,应该需要改一下。2、设定它的运行的兼容性,选择以windows XP SP2模式兼容,同时选择以管理员身份运行。
3、问题就应该解决了。
如果看了上面的还不明白,就参看百度文库中别人给出的详细说明:
转载请注明出处windows之家 » 安装vc2017时win10sdk要不要