我的学习生涯(Delphi篇) - 16
来源:互联网 发布:网络消费者投诉电话 编辑:程序博客网 时间:2024/04/30 07:10
我们不断的在与Windows系统打交道,那么我们怎么获取相关的信息呢?
-------------------------------------------------------------------------------------------------美丽分割线---------------------------
年代:2007
文件:My0312.7z
程序效果如下:
单元文件
Unit1.pas
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, StrUtils;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Memo1: TMemo; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var x:DWORD;begin x:=$ff000000; ShowMessage(format('移位前:%.8x',[x])); asm mov eax,x shr eax,8 mov x,eax end; ShowMessage(format('移位后:%.8x',[x]));end;procedure TForm1.Button2Click(Sender: TObject);var gle1:Byte; msgBuf1:array [0..255] of char; fh1:THandle; // lpv1,res1:Pointer; function MakeLangID(PrimaryLanguage,SubLanguage : word) : DWord; begin Result:=SubLanguage shl 10; Result:=Result or PrimaryLanguage; end;begin// fh1:= FileOpen('d:\新建 文本文档.txt',fmOpenRead); //FileRead(fh1,buffer1,so1); //ReadFile(fh1,buffer1,so1,so1,@gle1); res1 :=VirtualAlloc(lpv1,4096,PAGE_EXECUTE_READWRITE,0); gle1:= GetLastError; ShowMessage(SysErrorMessage(gle1)); ShowMessage(IntToStr(gle1)); FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,nil,gle1,MakeLangID(LANG_NEUTRAL,SUBLANG_DEFAULT), @msgbuf1, sizeof(msgBuf1)-1, nil); MessageBox(0,msgbuf1,nil,MB_OK or MB_ICONINFORMATION); // CloseHandle(fh1);end;procedure TForm1.Button3Click(Sender: TObject);var szExePathname:array [0..266]of char; hMoudleA:DWORD;begin hMoudleA:=GetModuleHandle(nil); GetModuleFileName(hMoudleA,szExePathname,MAX_PATH); ShowMessage(string(szExePathname));end;procedure TForm1.Button4Click(Sender: TObject);var F:TFilestream ; buf:PChar;begin try F := TFileStream.Create('C:\s\datasb.txt',fmShareDenyWrite); F.Position := 0 ; GetMem(Buf,F.size); ShowMessage(IntToStr(F.Read(buf^,F.Size))); //F.Read(buf^,F.Size); ShowMessage(buf); //Memo1.Lines.Add(buf); finally FreeMem(buf); F.Free ; end;end;procedure TForm1.Button5Click(Sender: TObject);var Reader : TReader; Writer : TWriter; mStream : TMemoryStream; n : Integer; str : string;begin n := 100; str := 'abcde'; mStream := TMemoryStream.Create(); Writer := TWriter.Create(mStream,4096); Writer.WriteInteger(n); Writer.WriteString(str); Writer.Free; Reader := TReader.Create(mStream,4096); mStream.Position := 0; n := Reader.ReadInteger; str := Reader.ReadString; ShowMessage(Format('n=%d'+#13+'str=%s',[n,str])); Reader.Free; mStream.Free;end;procedure TForm1.Button6Click(Sender: TObject);var sfi,si:integer; buff:array [0..127] of byte;begin sfi:=FileOpen('c:\s\datasb.fcn',fmOpenReadWrite); if sfi=-1 then exit; //文件不存在// FileSeek(sfi,where,0); // 指定要读位置,0:从文件头计起 si:=FileRead(sfi,buff,4); //读入多少字节的数据 //FileSeek(sfi,where,2); // 指定要写位置,0:从文件头计起,2:从文件尾倒数 buff[0]:=$55; buff[1]:=$aa; filewrite(sfi,buff,8); FileClose(sfi);end;//使用编译器开关控制版本功能{$DEFINE _ProVersion}//{$UNDEF _ProVersion}procedure TForm1.Button7Click(Sender: TObject);begin{$IFDEF _ProVersion} ShowMessage('專業版'); {$Else} ShowMessage('只有專業版才有此功能'); {$ENDIF} end;procedure TForm1.Button8Click(Sender: TObject);var ch:Char; pch1:PChar;begin pch1:=pchar(leftstr(Edit1.Text,1)); ch:=pch1^; ch:=UpCase(ch); case ch of 'E': begin ShowMessage('E'); end; else begin ShowMessage('other:'+ch); end; end;end;end.
- 我的学习生涯(Delphi篇) - 16
- 我的学习生涯(Delphi篇) - 完结篇
- 我的学习生涯(Delphi篇) - 00
- 我的学习生涯(Delphi篇) - 01
- 我的学习生涯(Delphi篇) - 02
- 我的学习生涯(Delphi篇) - 03
- 我的学习生涯(Delphi篇) - 04
- 我的学习生涯(Delphi篇) - 05
- 我的学习生涯(Delphi篇) - 06
- 我的学习生涯(Delphi篇) - 07
- 我的学习生涯(Delphi篇) - 08
- 我的学习生涯(Delphi篇) - 09
- 我的学习生涯(Delphi篇) - 10
- 我的学习生涯(Delphi篇) - 11
- 我的学习生涯(Delphi篇) - 12
- 我的学习生涯(Delphi篇) - 13
- 我的学习生涯(Delphi篇) - 14
- 我的学习生涯(Delphi篇) - 15
- Android UI开发第二十三篇——分享书架UI实现
- EmEditor让选定的单词全部高亮显示
- Lua查找表元素过程(元表、__index方法是如何工作的)
- Source insight3.5 注册算法分析记录
- Struts2中过滤器和拦截器的区别
- 我的学习生涯(Delphi篇) - 16
- Linux信号、信号处理和信号处理函数
- iOS中url中文编码问题
- 各种基本排序算法的总结
- svmtrain函数参数
- 图像处理常用插值方法总结
- C中预编译
- 14-1.3 纯虚函数
- 用扁平化的界面设计吸引用户