Windows API一日一练—Delphi版本 第一个应用程序
一直都想着在Delphi中用使用纯SDK API来写一些东西,但是一直没有做过或者做的非常少,看了版主的Windows API一日一练的相关帖子。于是决定在我的能力之内,将他的相关内容用Delphi来实现一下。目的也是告诉那些只用Delphi常规开发的人,原来Delphi还可以这么用,也告诉纠正那些认为Delphi只用来写数据库程序的误解。先来看看第一个应用程序,这里参考Windows API一日一练 第一个应用程序。在此之前,我们先了解一下纯WIn SDK编程的方式,一般用过C的人,都知道C的入口函数为main(),这里有一个入口函数,而Win32编程中,也有一个入口,这个入口函数为WinMain。可是这个入口函数,我们在Delphi中看不到。如果有人看过Delphi的dpr工程文件中的代码就会发现,Delphi的入口实现为:begin
Application.Initialize;
Application.CreateForm(TForm4, Form4);
Application.Run;
end.根本没见到所谓的WinMain函数,不过,实际上这个函数是存在的,只是Delphi对他做了智能处理,将其隐藏在Delphi编译器的实现之中,所以我们看不到这个东西,但是我们不能说他不存在。Delphi会进入winmain入口,然后转到工程的begin..end之间来执行代码。所以,咱就可以在这里将工程文件的begin这里作为入口。
那么,对应Windows API一日一练 第一个应用程序这个帖子,我们的代码就可以很简单的实现为:
program Project1;
uses
Windows;
begin
MessageBox(GetDesktopWindow,'第一个应用程序','例子',64)
end.
怎么样,这个代码很简单吧。
可见,基本上来说,这个代码与VC实现起来的差别不大,唯一的一个差别就是在入口上,VC的是转为了_twinmain,Delphi是编译器做了一个魔法处理直接转到工程的开头了。其他方面都做一样的处理! 莫非现在论坛中毒了,怎么自动在我文章的后面加了一个
中国飘云阁如何脱Visual Protect -> Visage的壳啊
这样的连接? 我也不太清楚问问飘云大大吧! 多谢楼主。
对这个好像有点了解了。 :loveliness:学习了,希望继续提供好文,delphi
页:
[1]