什么是SDK啊?干吗用的?怎样用? 如题。另外如题写一个窗口,上有一button,点击后输出消息 HELLO,WORLD该怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SDK Software Development Kit, 软件开发工具包 procedure TForm1.Button1Click(Sender: TObject);begin showmessage('HELLO,WORLD!');end; 木鱼:SDK Software Development Kit, 软件开发工具包请再解释清楚一些呢?另外procedure TForm1.Button1Click(Sender: TObject);begin showmessage('HELLO,WORLD!');end;这段代码关SDK什么事啊? 好好的控件不用,干吗要用SDK写啊?口吐白沫,召唤爱翔中…… 召唤我?我又不是灯神!SDK是螺丝,SDK是黄瓜,SDK是芯片组,SDK是你的手!SDK就是SDK,就差不会说话了。如果有人问题,某某是谁啊。我不会回答。 你不会看书吗?看看你的提问:“什么是SDK啊?干吗用的?怎样用?”就差做好了喂给你吃了。如果我换成黄瓜。什么是黄瓜啊,干吗用的,怎样用?我怎么回答?如果我换成螺丝。什么是螺丝啊,干吗用的,怎样用?我怎么回答?如果是黄瓜,我建议你看食谱。如果是螺丝,我建议你看说明书。如果是SDK,我不建议了,因为那几个字我说了N遍了。请你动动你的手指头,搜索一下论坛的旧帖子好吗? 另外,我很懒,Windows SDK怎么用,以及说明介绍可以写一本1000多页的书。大家说,我说得不为过吧。何况,SDK还不止这个,还有工控的SDK,各种形式的SDK,我怎么解答你? 唉……我怎么成了这样呢?最后一遍回答你的问题。>>什么是SDK啊?这个上面有人已经回答了。>>干吗用的?好像不是吃的,应该是编写程序用的?我希望是吃的东西。>>怎样用?最后一遍说:看经典的<programming windows>。我不会再说这本书的名字了。我厌倦了!>>另外如题写一个窗口,上有一button,点击后输出消息 HELLO,WORLD该怎么做?你需要什么版本的?Asm,C,Pascal? 后面又陈腔滥调了@_@他要SDK做这个玩意,哈哈 我当然知道他或者她或者它要用SDK做这个。所以我才问他或者她或者它要用什么语言来描述。ASM C Pascal…… 感谢木鱼,流水不腐,天使和爱翔。//============================================================================另外,就黄瓜的问题,假如我没见过黄瓜,哪天听说了这个东西,我一定会找个人问,什么是黄瓜啊(长的什么样子?不要回答是:黄瓜就是 “黄色 的瓜”),干什么用的(主食?做菜?水果?)怎么样吃(用微波炉考?象油条一样炸?放入碗中,加开水浸泡5分钟后即可食用?)因为有人知道它,所以不妨问问,以便更快更好的知道怎么吃它。//============================================================================我才听到SDK这个东西,所以发个帖子想了解一下。我没有“一个窗口,上有一button,点击后输出消息 HELLO,WORLD”这项工程,只是想有个能引导入门的概念,(我怕问怎样用SDK来写《红色警戒》回答起来太耽误几位老师的时间,所以换了个模型些的问题),有一点点了解后,剩下的事情自己来学。所以,还是诚恳的再麻烦几位老师,问一下这个问题: 什么是SDK啊?干吗用的?怎样用? 和那段代码(或代码片段), 当然,不是要逐条回答这几个问题,谈谈你们自己的经验,或启发一下看哪些书(如programing windows)那些网页好一点,只要不是概念层的,就都是回答了。 刚才惊喜的看到爱翔可以用ASM来写,非常高兴,如果爱翔有空的话,请把用asm的代码贴出来,谢谢。 用了这么多字才把想法完全表达出来,见笑了,呵呵。 还谢谢诸位的批评,这段话中如还有让大家忍不住有善意批评我的欲望,请不要吝啬键盘:) SDK Software Development Kit, 软件开发工具包 programming windows用C来描述的。罗云彬大哥的windows环境下32位汇编语言程序设计很不错。pascal就不说了,delphi当然可以写,但是没有必要那么麻烦。汇编的例子如下,使用Masm32编译之后就是一个窗口加一个按钮:我没有设什么hello world,就这样了:;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .386 .model flat,stdcall option casemap:none;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>; Include 文件定义;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>include windows.incinclude gdi32.incincludelib gdi32.libinclude user32.incincludelib user32.libinclude kernel32.incincludelib kernel32.lib;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>; 数据段;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .data?hInstance dd ?hWinMain dd ? .constszClassName db 'MyClass',0szCaptionMain db 'My first Window !',0szText db 'Win32 Assembly, Simple and powerful !',0szButton db 'button',0szButtonText db '&OK',0;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>; 代码段;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .code;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>; 窗口过程;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>_ProcWinMain proc uses ebx edi esi,hWnd,uMsg,wParam,lParam local @stPs:PAINTSTRUCT local @stRect:RECT local @hDc mov eax,uMsg;******************************************************************** .if eax == WM_PAINT invoke BeginPaint,hWnd,addr @stPs mov @hDc,eax invoke GetClientRect,hWnd,addr @stRect invoke DrawText,@hDc,addr szText,-1,\ addr @stRect,\ DT_SINGLELINE or DT_CENTER or DT_VCENTER invoke EndPaint,hWnd,addr @stPs;********************************************************************; 建立一个按钮;******************************************************************** .elseif eax == WM_CREATE invoke CreateWindowEx,NULL,\ offset szButton,offset szButtonText,\ WS_CHILD or WS_VISIBLE,\ 10,10,65,22,\ hWnd,1,hInstance,NULL;******************************************************************** .elseif eax == WM_CLOSE invoke DestroyWindow,hWinMain invoke PostQuitMessage,NULL;******************************************************************** .else invoke DefWindowProc,hWnd,uMsg,wParam,lParam ret .endif;******************************************************************** xor eax,eax ret_ProcWinMain endp;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>_WinMain proc local @stWndClass:WNDCLASSEX local @stMsg:MSG invoke GetModuleHandle,NULL mov hInstance,eax invoke RtlZeroMemory,addr @stWndClass,sizeof @stWndClass;********************************************************************; 注册窗口类;******************************************************************** invoke LoadCursor,0,IDC_ARROW mov @stWndClass.hCursor,eax push hInstance pop @stWndClass.hInstance mov @stWndClass.cbSize,sizeof WNDCLASSEX mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW mov @stWndClass.lpfnWndProc,offset _ProcWinMain mov @stWndClass.hbrBackground,COLOR_WINDOW + 1 mov @stWndClass.lpszClassName,offset szClassName invoke RegisterClassEx,addr @stWndClass;********************************************************************; 建立并显示窗口;******************************************************************** invoke CreateWindowEx,WS_EX_CLIENTEDGE,offset szClassName,offset szCaptionMain,\ WS_OVERLAPPEDWINDOW,\ 100,100,600,400,\ NULL,NULL,hInstance,NULL mov hWinMain,eax invoke ShowWindow,hWinMain,SW_SHOWNORMAL invoke UpdateWindow,hWinMain;********************************************************************; 消息循环;******************************************************************** .while TRUE invoke GetMessage,addr @stMsg,NULL,0,0 .break .if eax == 0 invoke TranslateMessage,addr @stMsg invoke DispatchMessage,addr @stMsg .endw ret_WinMain endp;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>start: call _WinMain invoke ExitProcess,NULL;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> end start 如果想要hello world很简单,我也懒得加了。invoke MessageBox就可以了。 请大家帮个忙 TSchoolClass,TStudent类设计 100分,求fastreport2.3每条记录自动生成序号排列! 无聊,散分~~~~~~~~~~~~~~~~~~~~~~~` 这个控件的用法(加图片)?mxOutlookBarPro dephi复制文件后成功,删除执行不了,进程如何控制? 各位,我该怎么办,前途选择遇到了问题! 关于帮助文档的简单问题! 怎么让edit只能输入类似**:**的时间,否则报错!! adocommand出错! 窗体的设置,请指点!!! dos下的硬件设备中断编号到了windows下还管用吗?
begin
showmessage('HELLO,WORLD!');
end;
SDK Software Development Kit, 软件开发工具包
请再解释清楚一些呢?
另外
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('HELLO,WORLD!');
end;这段代码关SDK什么事啊?
//============================================================================
另外,就黄瓜的问题,假如我没见过黄瓜,哪天听说了这个东西,我一定会找个人问,什么是黄瓜啊(长的什么样子?不要回答是:黄瓜就是 “黄色 的瓜”),干什么用的(主食?做菜?水果?)怎么样吃(用微波炉考?象油条一样炸?放入碗中,加开水浸泡5分钟后即可食用?)因为有人知道它,所以不妨问问,以便更快更好的知道怎么吃它。
//============================================================================
我才听到SDK这个东西,所以发个帖子想了解一下。我没有“一个窗口,上有一button,点击后输出消息 HELLO,WORLD”这项工程,只是想有个能引导入门的概念,(我怕问怎样用SDK来写《红色警戒》回答起来太耽误几位老师的时间,所以换了个模型些的问题),有一点点了解后,剩下的事情自己来学。
所以,还是诚恳的再麻烦几位老师,问一下这个问题:
什么是SDK啊?干吗用的?怎样用? 和那段代码(或代码片段),
当然,不是要逐条回答这几个问题,谈谈你们自己的经验,或启发一下看哪些书(如programing windows)那些网页好一点,只要不是概念层的,就都是回答了。
刚才惊喜的看到爱翔可以用ASM来写,非常高兴,如果爱翔有空的话,请把用asm的代码贴出来,谢谢。
用了这么多字才把想法完全表达出来,见笑了,呵呵。
还谢谢诸位的批评,这段话中如还有让大家忍不住有善意批评我的欲望,请不要吝啬键盘:)
.386
.model flat,stdcall
option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include gdi32.inc
includelib gdi32.lib
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data?hInstance dd ?
hWinMain dd ? .const
szClassName db 'MyClass',0
szCaptionMain db 'My first Window !',0
szText db 'Win32 Assembly, Simple and powerful !',0
szButton db 'button',0
szButtonText db '&OK',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 窗口过程
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcWinMain proc uses ebx edi esi,hWnd,uMsg,wParam,lParam
local @stPs:PAINTSTRUCT
local @stRect:RECT
local @hDc mov eax,uMsg
;********************************************************************
.if eax == WM_PAINT
invoke BeginPaint,hWnd,addr @stPs
mov @hDc,eax invoke GetClientRect,hWnd,addr @stRect
invoke DrawText,@hDc,addr szText,-1,\
addr @stRect,\
DT_SINGLELINE or DT_CENTER or DT_VCENTER invoke EndPaint,hWnd,addr @stPs
;********************************************************************
; 建立一个按钮
;********************************************************************
.elseif eax == WM_CREATE
invoke CreateWindowEx,NULL,\
offset szButton,offset szButtonText,\
WS_CHILD or WS_VISIBLE,\
10,10,65,22,\
hWnd,1,hInstance,NULL
;********************************************************************
.elseif eax == WM_CLOSE
invoke DestroyWindow,hWinMain
invoke PostQuitMessage,NULL
;********************************************************************
.else
invoke DefWindowProc,hWnd,uMsg,wParam,lParam
ret
.endif
;********************************************************************
xor eax,eax
ret_ProcWinMain endp;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_WinMain proc
local @stWndClass:WNDCLASSEX
local @stMsg:MSG invoke GetModuleHandle,NULL
mov hInstance,eax
invoke RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
;********************************************************************
; 注册窗口类
;********************************************************************
invoke LoadCursor,0,IDC_ARROW
mov @stWndClass.hCursor,eax
push hInstance
pop @stWndClass.hInstance
mov @stWndClass.cbSize,sizeof WNDCLASSEX
mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
mov @stWndClass.lpfnWndProc,offset _ProcWinMain
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
mov @stWndClass.lpszClassName,offset szClassName
invoke RegisterClassEx,addr @stWndClass
;********************************************************************
; 建立并显示窗口
;********************************************************************
invoke CreateWindowEx,WS_EX_CLIENTEDGE,offset szClassName,offset szCaptionMain,\
WS_OVERLAPPEDWINDOW,\
100,100,600,400,\
NULL,NULL,hInstance,NULL
mov hWinMain,eax
invoke ShowWindow,hWinMain,SW_SHOWNORMAL
invoke UpdateWindow,hWinMain
;********************************************************************
; 消息循环
;********************************************************************
.while TRUE
invoke GetMessage,addr @stMsg,NULL,0,0
.break .if eax == 0
invoke TranslateMessage,addr @stMsg
invoke DispatchMessage,addr @stMsg
.endw
ret_WinMain endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
call _WinMain
invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start