Windows API函数使用技巧

Windows API函数使用技巧
得到WINDOWS的SYSTEM路径:
    方法:
             var
                  MySysPath : PCHAR ;
             begin
                     GetMem(MySysPath,255);
                     GetSystemDirectory(MySysPath,255);
             end;
    注:MySysPath为SYSTEM路径

 
得到程序的路径
  ExtractFileDir(Application.Exename);


 
察看文件是否存在
  FileExists(FileName:String):Boolean;


 
改变文件扩展名
  ChangeFileExt(FileName:String)


 
得到文件的扩展名
  ExtractFileExt(FileName:String):String;


 
如何取得Windows的临时文件目录?
适合版本:Delphi 3,2.0,1.0

Windows 95 & NT都指定了放置临时文件的目录,然而,用户能改变临时目录的位置而不使用缺省的目录。这篇文章的目的是告诉你如何得到Windows 95 & NT当前的临时目录位置。这个Windows API函数 GetTempPath就是解决这个问题的。其函数原形为:

DWORD GetTempPath(DWORD nBufferLength, LPTSTR lpBuffer);

下面的例子示范如何使用:

function GetTempDirectory: String;

var

TempDir: array[0..255] of Char;

begin

GetTempPath(255, @TempDir);

Result := StrPas(TempDir);

end;


备注:临时目录的确定原则:

1,如果有TMP环境变量则临时目录为TMP指定的目录

2,如果没有TMP环境变量而有TEMP环境变量,则为TEMP变量指定的目录

3,如果TMP和TEMP都没有定义,则取当前目录为临时目录


 
程序不出现在任务栏

  一般Windows 95运行程序时都会在任务栏上出现按钮,如果你的程序是一个监视程序,那么出现按钮就不是明智之举了。要实现该功能就要在OnCreate事件里利用到API函数SetWindowLong
procedure TForm1.FormCreate(sender:TObject);
begin
SetWindowLong(Application,Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
end;


 
改计算机名

改变计算机在网络中的名字,重新启动后才生效
SetComputerName('Hello World');

 
控制热启动

要使系统的热启动键(Ctrl+Alt+Del)失效,使用以下语句
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
要恢复系统的热启动键(Ctrl+Alt+Del),使用以下语句
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);


 
临时路径

有时需要Windows的临时路径来做备份等工作,那么就要知道路径在哪,下面的程序帮你忙:
var aa:pchar;
begin
GetTempPath(20,aa); file://返回路径名
edit1.text:=aa;
end;


 
返回程序执行参数

  有关 Delphi 传入应用程式的命令列参数, 请参考以下的说明:
用ParamCount函数取得命令参数的个数:
呼叫 ParamStr(0), 传回执行档的档名(含路径)
呼叫 ParamStr(n), 传回第n个参数的内容
procedure TForm1.FormCreate(Sender: TObject);
var
sFileName: string;
begin
if ParamCount > 0 then begin (* 有执行参数传入 *)
sFileName := ParamStr(1); (* 取得参数内容 *)
if FileExists(sFileName) then
Memo1.Lines.LoadFromFile(sFileName)
else
Application.MessageBox('找不到指定的档案', '讯息', 48);
end;
end;


 
关闭Windows

控制WINDOWS的开关:如关闭WINDOWS,重新启动WINDOWS等, ExitWindowsEx(UINT uFlags,DWORD dwReserved);是实现这一功能的API函数
首先定义常数
const
EWX_FORCE=4; file://关闭所有程序并以其他用户身份登录
EWX_LOGOFF=0; file://重新启动计算机并切换到MS-DOS方式
EWX_REBOOT=2; file://重新启动计算机
EWX_SHUTDOWN=1;//关闭计算机
运行时给How赋值,让他等于EWX_SHUTDOWN或其他,调用以下语句
ExitWindowsEx(How,0);


 
关闭外部应用程序

如何在 Delphi 应用程序中, 去关闭外部已开启的应用程序?
下面给出一段在 Delphi 中关闭“计算器”程序为例:
var
HWndCalculator : HWnd;
begin
// find the exist calculator window
HWndCalculator := Winprocs.FindWindow(nil, '计算器'); // close the exist Calculator
if HWndCalculator <> 0 then
SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
end;


 
得到执行程序的目录

  SysUtils 单元中有 ExtractFileDir 与 ExtractFilePath两个类似的函数, 用哪一个?没有太大的关系。
  不过有以下的差别: ExtractFilePath 传回值的最後一个字元是反斜杠“/”。
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(ExtractFileDir(Application.Exename));
// ie: c:/temp
ShowMessage(ExtractFilePath(Application.Exename));
// ie: c:/temp/
end;
相同点: 如果执行文件在根目录下(如:C:/SAMPLE.EXE)的话, 两者的传回值相同, 且最后一个字符都是“/”。


 
使用GetFileVersionInfo 得到版本信息的例子 
Samples Using GetFileVersionInfo?

回答1:
  procedure GetBuildInfo(var V1, V2, V3, V4: Word);
  var
    VerInfoSize: DWORD;
    VerInfo: Pointer;
    VerValueSize: DWORD;
    VerValue: PVSFixedFileInfo;
    Dummy: DWORD;
  begin
  VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
  GetMem(VerInfo, VerInfoSize);
  GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
  VerQueryValue(VerInfo, '/', Pointer(VerValue), VerValueSize);
  with VerValue^ do
    begin
    V1 := dwFileVersionMS shr 16;
    V2 := dwFileVersionMS and $FFFF;
    V3 := dwFileVersionLS shr 16;
    V4 := dwFileVersionLS and $FFFF;
    end;
  FreeMem(VerInfo, VerInfoSize);
  end;
------------------------------------------
回答2
If you want a component, check out TVersionInfoResource at
http://www.pobox.com/~bstowers/delphi/ in the My Stuff section. D1/D2/D3/C++B
compatible, freeware with full source code and a small demo.
And you can see the http://www.aye.net/~bstowers/delphi/
另一个component VersionInfo.zip


 
防止程序运行多个例程? 
More than one instance of program?

回答
 This is copied direct from my *.dpr file. You can work it for your own
use.

var
  hMutex : Thandle;
  WaitResult : word;
  BroadcastList : DWORD;
begin
     MessageID := RegisterWindowMessage('Check For Choice Previous Inst');
// register a message to use later on
     hMutex := createMutex(nil,false,pchar('App_Choice')); // grab a mutex
handle
     WaitResult := WaitForSingleObject(hMutex,10); // wait to see
if we can have exclusive use of the mutex
     if ( waitResult = WAIT_TIMEOUT ) then // if we can't then broadcast
the message to make the owner of the mutex respond
     { request that the running application takes focus }
       begin
          BroadcastList := BSM_APPLICATIONS;
          BroadcastSystemMessage(
BSF_POSTMESSAGE,@BroadcastList,MessageID,0,0); file://32 bit - broadcast the
message to all apps - only a prev inst will hear it.
       end
     else
      begin
      { do the normal stuff}
      Application.Title := 'Choice Organics Purchase & Sales System';
      Application.CreateForm(TMainForm, MainForm);
      Application.Run;
      ReleaseMutex(hMutex); // release the mutex as a politeness
      end;
      CloseHandle(hMutex); // close the mutex handle
end.

This goes in the MainForm

procedure Tmainform.OnAppMessage(var Msg : TMsg ; Var Handled : Boolean);
begin
{ If it's the special message then focus on this window}
if Msg.Message = MessageID then // if we get the broadcast message from an
another instance of this app that is trying to start up
   begin
      show;
      WindowState := wsMaximized;
      BringToFront;
      SetFocus;
      Handled := true;
   end;
end;

file://And this goes in the TMainForm.FormCreate ;-

Application.OnMessage:= OnAppMessage;


 
4.得到Win 95 的计算机名字? 

问 How can I learn Windows'95 Machine Name?

答function ComputerName : String;

var
   CNameBuffer : PChar;
  fl_loaded : Boolean;
  CLen : ^DWord;

begin

    GetMem(CNameBuffer,255);
    New(CLen);
    CLen^:= 255;

    fl_loaded := GetComputerName(CNameBuffer,CLen^);

    if fl_loaded then
      ComputerName := StrPas(CNameBuffer)
    else
      ComputerName := 'Unkown';

    FreeMem(CNameBuffer,255);
    Dispose(CLen);

end;


 
7. 停止一个线程? 
问 Stop A Thread?
回答
You can Terminate your thread in two ways:
1) Assign ThreadDone to OnTerminate when you create it.
   In the Execute method, exit when the terminated property is True.
   At the point where you want to stop, issue the Terminate method.
2) Just call the Suspend method.
After one of these steps you may free the thread.
I hope the following snippets will help.

// -------------------------------------------------------------- //
interface

type
  Txyz = class(TThread)
  published
    procedure Execute; override;
  end;

var
  XYZThread: Txyz;

implementation

procedure Txyz.Execute;
begin
  while True do Application.ProcessMessages;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  XYZThread := Txyz.Create(False);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  XYZThread2.Suspend;
  XYZThread2.Free;
end;

end.


 
如何在WINDOWS中象在UCDOS下控制打印字体的长宽,而不受限于SIZE 的限制。

首先为了达到这个功能,可以采用Windows的逻辑字体(LogFont)
可以使用 CreateFont 或 CreateFontIndirect 这两个Windows API
函数来定义任何想要的字体,由于 CreateFont 所需的参数甚多通常
我们使用 CreateFontIndirect 来建立所需的逻辑字体,这个API函数
在Delphi中的声明为
function CreateFontIndirect(const p1: TLogFont): HFONT; stdcall;
其中只有一个参数 p1: TLogfont, 所有有关字体的参数完全通过这个
TLogfont结构来传送,Windows将根据结构中的内容创建出相应的逻辑
字体,在Delphi的Windows.pas中TLogFont是这样定义的

TLogFontA = packed record
lfHeight: Longint;
lfWidth: Longint;
lfEscapement: Longint;
lfOrientation: Longint;
lfWeight: Longint;
lfItalic: Byte;
lfUnderline: Byte;
lfStrikeOut: Byte;
lfCharSet: Byte;
lfOutPrecision: Byte;
lfClipPrecision: Byte;
lfQuality: Byte;
lfPitchAndFamily: Byte;
lfFaceName: array[0..LF_FACESIZE - 1] of AnsiChar;
end;
TLogFontW = packed record
lfHeight: Longint;
lfWidth: Longint;
lfEscapement: Longint;
lfOrientation: Longint;
lfWeight: Longint;
lfItalic: Byte;
lfUnderline: Byte;
lfStrikeOut: Byte;
lfCharSet: Byte;
lfOutPrecision: Byte;
lfClipPrecision: Byte;
lfQuality: Byte;
lfPitchAndFamily: Byte;
lfFaceName: array[0..LF_FACESIZE - 1] of WideChar;
end;
TLogFont = TLogFontA;

其中涉及到很多参数,其中

lfHeight: Longint;
指定以逻辑单位标定的字体高度,取值可为正负或零,对于需要随意
定义字体高度的情况下通常取负值,以保证获得实际尺寸的字体。

lfWidth: Longint;
用于指定字体的平均宽度,由于Windows系统下的大多数字体都是比例
字体因而采用平均宽度这个表示方法。若指定为0,则系统会自动根据
适当的比例自动处理宽度。

lfEscapement: Longint;
指定输出方向与当前坐标系X轴之间的以十分之一度为单位的角度。

lfOrientation: Longint;
指定每个字符与当前坐标系X轴之间的以十分之一度为单位的角度。在
Windows95中这个值等同于lfEscpement。

lfWeight: Longint;
指定范围为从0至1000的字体加重程度,400是标准字体700为加重字体,
0表示采用默认值。

lfItalic: Byte;
不为0表示采用斜体字。

lfUnderline: Byte;
不为0表示带下划线。

lfStrikeOut: Byte;
不为0表示带穿透线。

lfCharSet: Byte;
指定字体集。

lfOutPrecision: Byte;
指定输出精度。用于确定对前面一些设定值的精确程度。

lfClipPrecision: Byte;
指定裁剪精度。裁剪是Windows图形环境下的一种特殊处理,简单说就是
去掉图形中落在视图以外的部分,有助于提高图形的处理速度。

lfQuality: Byte;
指定输出质量。

lfPitchAndFamily: Byte;
指定字体的Pitch和Family。

lfFaceName: array[0..LF_FACESIZE - 1] of AnsiChar;
指定采用的字体名称。

在建立逻辑字体时,我们通常使用

lfHeight和lfWidth来确定字体的尺寸,使用lfEscapement和lfOrientation
来确定字体的输出方向,使用lfWeight, lfItalic, lfUnderline,
lfStrikeOut, 来确定字体的加重,斜体,下划线和穿透线,使用lfCharSet
来确定字体的字符集,通常采用系统默认的字符集。
对于lfOutPrecision, lfClipPrecision, lfQuality一般应用于对屏幕之外
的输出设备,通常采用默认值。采用lfPitchAndFamily来确定采用定宽或可
变字体和字体的家族。以lfFaceName来通过名称选择采用的字体。
另外应当注意在Windows环境下,每种字体具体输出为何种形式取决于很多
因素,需要对以上这些参数进行有效的组合才能达到所要的效果。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
556,delay1.zip <br>源码设计中的延时功能(1KB)<br>557,type_1.zip <br>趣味打字2.1(233KB)<br>558,test1.zip <br>asp编写动态网页计数器(1KB)<br>559,hztosm.zip <br>汉字转声母完全源代码(90KB)<br>560,formatfloppy.zip <br>格式化软盘源代码(13KB)<br>561,freespace.zip <br>获取磁盘剩余空间(3KB)<br>562,setscreen <br>设置屏幕分辨率(7KB)<br>563,snapwindow.zip <br>一个抓图的小程序(14KB)<br>564,hotrgn.zip <br>热区的应用(6KB)<br>565,getserial.zip <br>读出驱动器序列号,可以制作加密安装盘(2KB)<br>566,opencdrom.zip <br>可以程序控制打开或关闭CDROM,非常方便(2KB)<br>567,getusername.zip <br>自动读取用户登陆名称,再进行密码验证(2KB)<br>568,gethostname.zip <br>读取机器名称(2KB)<br>569,printpic.zip <br>解决图形打印的问题(50KB)<br>570,g029_pcl.zip<br>拼图游戏(56KB)<br>571,g028_octopus.zip<br>一个简单的掌上游戏机的游戏,这个游戏机的内容是要逃过大章鱼的捕捉(408KB)<br>572,g027_menace.zip<br>仓库世家-推箱子的游戏(114KB)<br>573,g026_breKthru.zip<br>弹珠台游戏(41KB)<br>574,g025_zhq.zip<br>一个能考考你的智慧的智慧棋(17KB)<br>575,g024_vb-sol.zip<br>VB 的扑克牌游戏的源码(15KB)<br>576,g023_picgame.zip<br>一个好玩的拼图游戏(25KB)<br>577,g021_zm015<br>看着超级玛莉不停的追赶着你的鼠标,是不是很有意思呢?(25KB)<br>578,g020_zm019<br>一个拼图游戏,可以自己指定图片进行游戏(12KB)<br>579,g019_zm011<br>一个网络五子棋的源程序(并有聊天功能)(41KB)<br>580,g018_zm010.zip<br>中国象棋的源程序,支持网络作战(23KB)<br>581,g017<br>3维的breaKthrough游戏(8KB)<br>582,g016.zip<br>小蜜蜂射击游戏源程序, 不仅演示了 vb 的图形操作技巧,键盘操作,还演示了怎样使用 npmod32.dll(已包含,免费) 来播mod,s3m,mpp,med,xm,it,mdz,itz,xmz,s3z 等音乐格式文件(208KB)<br>583,g015.zip<br>旋转俄罗斯 1.0 demo 版的源程序,vb5 版存贮,稍加修改即适合于 vb4、vb3。里面有用 vb 处理俄罗斯方块的核心内容及简单注释(8KB)<br>584,g014.zip<br>breakthrough游戏(保持小球在屏幕上跳动)源程序(50KB)<br>585,g013.zip<br>3维迷宫游戏的源程序(40KB)<br>586,g012.zip<br>射击(导弹)游戏的源程序(5KB)<br>587,g011.zip<br>生命游戏源程序(12KB)<br>588,g010.zip<br>一个精灵游戏源程序(33KB)<br>589,g009.zip<br>翻转棋游戏(64子, 每子正反面分别为黑白两色, 两人对弈)的源程序(29)<br>590,g008.zip<br>纸牌游戏源程序(45KB)<br>591,g007.zip<br>太空船游戏例子源程序(48KB)<br>592,g006.zip<br>用白雪做背面的俄罗斯方块(1.0版),自带EXE(224KB)<br>593,g005.zip<br>个人娱乐游戏,自带EXE(25KB)<br>594,g004.zip<br>个个人自娱乐的扑克牌游戏(57KB)<br>595,g003.zip<br>代表和平的娱乐游戏,自带EXE(12KB)<br>596,g002.zip<br>一个迷宫游戏,还有地图编辑器呢,完全源码(230KB)<br>597,g001.zip<br>模仿windows中的扫雷,自带EXE(38KB)<br>598,p012_prtDB.zip<br>打印数据库表格(39KB)<br>599,p011_dbprint.zip<br>数据库打印的例子(7KB) <br>600,p010_print.zip<br>一个调用打印机的VB程序范例(8KB)<br>601,p009_vbSimple35.zip<br>打印预览(21KB)<br>602,p008_prview32.zip<br>在VB中用OLE服务实现打印预览的功能(87KB)<br>603,p007_prnprv3.zip<br>如何使用VB实现打印预览(32KB)<br>604,p006_prnView.zip<br>打印模拟(13KB)<br>605,p005_vbTip10.zip<br>避免 Print 时印出 空白的前置字元(2KB)<br>606,p004_spool.zip<br>发送脱机打印任务(5KB)<br>607,p003_orient.zip<br>改变缺省的打印方向(3KB)<br>608,p002.zip<br>在VB5/6中增加打印预览功能(78KB)<br>609,p001.zip<br>简单的打印文件的例子(5KB)<br>610,o046_4.zip<br>识别常数的简单四则运算(3KB)'<br>611,o045_dhsz.zip<br>象钟面一样有时针、分针和秒针(3KB)<br>612,o044_zm045.zip<br>一个非常酷的机器人的源程序,你可以自己制作你喜欢的机器人并保存起来,很有意思哦(137KB)<br>613,o043_004101102.zip<br>TreeView的基本操作(5KB)<br>614,o042.zip<br>一个比较完整的源代码<br>615,o041_waker.zip<br>定时提醒 1.0 (12KB)<br>616,o040_zm035.zip<br>彻底清除“I Love You”病毒并介绍了病毒的原理及特征。Cool(32KB)<br>617,o039_72.zip<br>鼠标计程器(23KB)<br>618,o038_love.zip<br>情书生成器源代码(161KB)<br>619,o037_shellex5.zip<br>能打开默认的文件夹和默认的网站(7KB)<br>620,o035_shchangenotify.zip<br>未公开的COOL函数据(12KB)<br>621,o034_rotfont.zip<br>用VB实现字体的旋转<br>622,o033_998162026.zip<br>制作安装程序常用的模块(2KB)<br>623,o032_play024.zip<br>对电子爱好者是一个不错的选择(7KB)<br>624,o031_Play39.zip<br>时间、空间大小等数据向字符串的很有用的转换(4KB)<br>625,o029_snow.zip<br>一个雪花飘落例子(3KB)<br>626,o028_zoomsys.zip<br>类似画图放大镜的东西(2KB)<br>627,o027_wiz2.zip<br>制作应用程序向导的例子(类似安装程序的界面)!(5KB)<br>628,o025_StopWatch.zip<br>“跑表”类 ,VB 提供的 Timer 控件的精度好象可以达到 1 毫秒,但实际上只能达到几十毫秒。此“跑表”类使用多媒体的定时器而真正提供精确到 1 毫秒的定时(1KB)<br>629,o024_timer.zip<br>这是一个VB6编写的数码钟(4KB)<br>630,o023_clock.zip<br>指针式的时钟(3KB)<br>631,o021_viewpw.zip<br>密码查看器(7KB)<br>632,o020_calendar.zip<br>一个小小的日历程序(4KB)<br>633,o019_getword.zip<br>读取鼠标所在位置的单词(5KB)<br>634,o018_up.zip<br>数字大写转换程序(8KB)<br>635,o017_zm020.zip<br>利用这个程序可以让你方便的管理你所收集的源程序,VBCODE网站50几周来排行第一的源程序。强烈推荐! (200KB)<br>636,o016.zip<br>演示银河系的例子 (28KB)<br>637,o015.zip<br>计数器(10KB)<br>638,o014.zip<br>文件加密/解密的例子 (345KB)<br>639,o013.zip<br>将十亿以内的数字转换成文本文字(4KB)<br>640,o012.zip<br>十进制数转换成罗马数字(1KB)<br>641,o011.zip<br>16进制数转换成十进制, 16进制转换成二进制等(1KB)<br>642,o010.zip<br>转换二进制数为16进制数(1KB)<br>643,o009.zip<br>指定两个日期, 计算相隔的天数(2KB)<br>644,o008.zip<br>非常COOL的文字效果(9KB)<br>645,o007.zip<br>Ceaser转换文本加密技术,由Julius Ceaser提出 COOL(7KB)<br>646,o006.zip<br>允许你让EXE文件在用户第一次使用时输入用户名和序列号, 并将信息存储在EXE文件中(5KB)<br>647,o005.zip<br>简单的例子(4KB)<br>648,o004.zip<br>加密/解密字符串的例子(9KB)<br>649,o003.zip<br>密码存储程序(2KB)<br>650,o002.zip<br>用VB做的CGI程序,演示了如何做一个网上的电子交易系统(91KB)<br>651,vbNumerical11.htm<br>Least-Squares curve fitting by using an arbitrary order polynomial as approximating function.(11KB)<br>652,vbNumerical12.htm<br>Matrix Inversion by Gauss-Jordan Elimination with maximization of pivot elements.(12KB)<br>653,vbNumerical13.htm<br>Least-Squares curve fitting with statistical analysis by using an arbitrary order polynomial (17KB)<br>654,vbNumerical14.htm<br>valuate an integral by using Romberg integration. (9KB)<br>655,vbNumerical15.htm<br>Solve the matrix eigenvalue problem by using Hotelling's deflation method.(15KB)<br>656,vbNumerical16.htm<br>Solve the integral of discrete evenly and unevenly spaced points by using trapezoidal or Simpson's rule. (13KB)<br>657,vbNumerical17.htm<br>Evaluate the determinant of a square matrix by using Gauss Elimination with maximization <br>of pivot elements.(7KB)<br>658,vbNumerical18.htm<br>Solve a set of simultaneous linear equations including determinant calculation by Gauss-Jordan<br>Elimination with maximization of pivot elements.(5KB)<br>659,vbNumerical19.htm<br>Solve a set of simultaneous linear equations including determinant calculation by Gauss Elimination <br>with maximization of pivot elements.(5KB)<br>660,vbNumerical20.htm<br>Matrix Inversion including determinant calculation by Gauss-Jordan Elimination with <br>maximization of pivot elements.(5KB)<br>661,prnprv3.zip<br>在vb5/6中增加打印预览功能(78KB)<br>662,vbprint.zip<br>vb中使用打印功能的add-in(764KB)<br>663,spool.zip<br>打印文件的例子(5KB)<br>664,versioninfo.zip<br>从dll或exe文件中获得版本信息(3KB)<br>665,shellwait.zip<br>在程序中运行另一个exe程序直到它运行结束(1KB)<br>666,unloadforms.zip<br>卸装所有的forms(1KB)<br>667,startfile.zip<br>在程序中运行另一个exe程序(6KB)<br>668,killapp.zip<br>终止另一个程序(3KB)<br>669,jdsaver.zip<br>一个简单的屏幕保护程序(13KB)<br>670,ssaver.zip<br>在屏幕上卷滚文字的屏幕保护程序 (8KB)<br>671,scrsaver.zip<br>一个简单的屏幕保护程序(5KB)<br>672,scrnsavr.zip<br>两个屏幕保护程序(39KB)<br>673,saver.zip<br>一个简单的屏幕保护程序(7KB)<br>674,crypt.zip<br>密码存储程序(2KB)<br>675,enigma.zip<br>一个德国的enigma加密技术例子 cool(10KB)<br>676,ceaser.zip<br>ceaser转换文本加密技术,由julius ceaser提出 cool(7KB)<br>677,registry.zip<br>读和写注册表文件的例子(7KB)<br>678,xcopy.zip <br>模仿dos命令xcopy的功能(3KB)<br>679,winpaths.zip<br>得到计算机上windows目录和系统目录(3KB)<br>680,tray.zip<br>实现托盘程序(9KB)<br>681,drvspace.zip <br>显示磁盘的剩余空间(2KB)<br>682,keycheck.zip<br>键盘检测程序(5KB)<br>683, getdrives.zip<br>得到驱动器的详细资料(7KB)<br>684,getcompname.zip<br>得到计算机名称(2KB)<br>685,systeminfo.zip<br>显示详细的系统资料(11KB)<br>686,watchdir.zip<br>监控一个指定的目录, 当这个目录有文件删除或有文件增加, 监控程序将显示相关信息(4KB)<br>687,turnoff.zip<br>关机/重启动的程序(20KB)<br>688,controlpanel.zip<br>访问控制面板的方法(2KB)<br>689,screenres.zip<br>得到计算机屏幕的大小(2KB)<br>690,editregistry.zip <br>编辑注册表 (2KB)<br>691,stop.zip<br>锁定计算机的程序(5KB)<br>692,wbasket.zip<br>将文件移动到垃圾箱中(2KB)<br>693,opsys.zip<br>得到操作系统的信息(12KB)<br>694,ctaskmanager.zip<br>windows任务管理程序(12KB)<br>695,cntrlpnl.zip<br>访问控制面板(12KB)<br>696,copyscr.zip<br>拷贝屏幕到picture box(2KB)<br>697, registryb.zip <br>读注册表信息(5KB)<br>698,registry5.zip<br>读/写注册表(10KB)<br>699,hideshowtaskbar.zip<br>显示/隐藏任务条(3KB)<br>700,taskhide.zip<br>隐藏一个任务(2KB)<br>701,clipcurs.zip<br>限制鼠标的区域(3KB)<br>702, kidnap.zip<br>捆绑程序(8KB)<br>703,netuse.zip<br>演示连接/断开network(3KB)<br>704,winntsecurity.zip<br>关于windows nt安全性的程序(6KB)<br>705,code_format_disk.zip<br>格式化磁盘的例子(8KB)<br>706,01ss1632.zip<br>创建一个屏幕保护程序所用到的ole dll和使用例子(263KB)<br>707,cpocket.zip<br>统托盘(tray)控件(691KB)<br>708,tskvb4.zip<br>一个系统托盘(tray)例子(13KB)<br>709,scrnres.zip<br>使用windows api得到屏幕的大小(3KB)<br>710,taskswth.zip <br>调用api实现任务转换和得到当前活动任务名称(4KB)<br>711,vbhlp32.zip<br>vb helper:一个写帮助文件的dll(31KB)<br>712,loads.zip<br>将动态连接库预先装入内存以提高程序的运行速度(35KB)<br>713, toolsdll.zip<br>一个提供磁盘功能动态库, 包括确认文件是否存在, 磁盘空间等功能(132KB)<br>714,vbfindid.zip<br>找到窗口或控制的id及类信息(9KB)<br>715,rbbwin11.zip <br>在basic中执行一些特殊的指令(如重启计算机等)(1230KB)<br>716,drivetyp.zip<br>监测用户安装了何种类型的驱动器,包括"软驱","硬盘","cd-rom","网络驱动器"等(3KB)<br>717, inout.zip<br>如何在vb中调用i/o口的例子(10KB)<br>718,mouseleavetest.zip<br>在vb中定义了mousemove事件,但不能捕捉mouseleave事件,此程序交你如何捕捉mouseleave事件(8KB)<br>719,progman.zip<br>制作安装程序必备,此模块包含的sub及function能帮你做出专业的安装程序(2KB)<br>720,windows5.zip<br>如何得到当前windows的版本号(7KB)<br>721,group.zip<br>读取 win95 组的三种方法及组中建快捷键(15KB)<br>722,shutdown.zip<br>模拟关机程序, 作者:小乐(mailto:xiaole@telekbird.com.cn)(6KB)<br>723,associate.zip<br>建立文件关联, 例子演示把 .bar 文件与 notepad 建立关联(2KB)<br>724,磁盘空间.zip<br>磁盘使用情况(3KB)<br>725,bwindowontop.zip<br>使窗口显示在最前面的例子(1KB)<br>726,richtext.zip<br>编辑rtf文件的程序, 需要active threed control(30KB)<br>727,rtf.zip<br>演示rtf控制的功能(16KB)<br>728,mdi-temp.zip<br>实现多文档界面的记事本, 需要active threed control(29KB)<br>729,textedit.zip<br>类似记事本的简单文本编辑器(9KB)<br>730,toupper.zip <br>在textbox中输入大写文本(2KB)<br>731,wordover.zip<br>鼠标移动到richtext box中时查看单词(3KB)<br>732,editmenu.zip<br>在richtext box中增加右击菜单(5KB)<br>733,xmsnotepad.zip<br>xms记事本(23KB)<br>734,textefx.zip<br>非常cool的文字效果(9KB)<br>735,rtfprn.zip<br>打印richtext box中的内容(8KB)<br>736,lword.zip<br>一个简单的单词处理程序(46KB)<br>737,rotfont.zip<br>vb中的字都是水平的,可否想过作出有角度的字,在这里演示了作旋转的字的方法(4KB)<br>738,txtsrch.zip <br>在text中实现快速增量查询(4KB)<br>739,alphanumsortdll.zip <br>按字母和数字排序的例子(1527KB)<br>740,ccdemo.zip<br>演示调用windows的颜色对话框(258KB)<br>741,cfdemo.zip <br>演示调用windows的字体对话框(281KB)<br>742,reg221.zip<br>注册使用ocx的例子(51KB)<br>743,ropdemo.zip <br>演示windows api的光栅操作(277KB)<br>744, jkcgi.zip<br>使用dll创建cgi程序(181KB)<br>745,fsextext.zip <br>显示多种函数效果的例子(228KB)<br>746,shfileop.zip<br>显示win95 api的一些函数(4KB)<br>747,iconextr.zip <br>从动态库, 执行文件或ico文件中读取图标(3KB)<br>748,virtlogo.zip <br>显示logo的例子(8KB)<br>749,calendar.zip <br>日历程序(13KB) <br>750,aboutbox.zip<br>windows关于窗口(1KB) <br>751,vblib.zip<br>装入不同的form(44KB)<br>752,vbio32.zip <br>问端口的程序(17KB)<br>753,countdown.zip <br>计数器(10KB)<br>754,galaxy.zip <br>演示银河系的例子(28KB)<br>755,rocket.zip <br>小图形的快速移动(9KB)<br>756,hlitactx.zip<br>加亮鼠标所在的区域(4KB)<br>757,appbar4.zip <br>模拟windows 95/98的任务条(3KB)<br>758, keyboard5.zip<br>显示键盘信息(7KB)<br>759,listsrch.zip <br>在列表框中快速查找和定位子项(7KB)<br>760,quiksrch.zip <br>在列表框或组合框中查找子项(3KB)<br>761,vba.zip <br>莱卡数据处理VBA(203KB)<br>762,SysMonth.zip <br>调用系统日历(5KB)<br>763,haha.zip <br>屏幕旋转180度(10KB)<br>764,undocsh.zip <br>未公开的Shell.dll 函数(11KB)<br>765,mousedemo.zip <br>鼠标性能演示程序(47KB)<br>766,winpaper.zip <br>墙纸定时更换器程序(70KB)<br>767,game.zip <br>游戏(57KB)<br>768,destroy.zip <br>电脑安全卫士(46KB)<br>769,encrypt1.zip <br>文本文件加密器1 (54KB)<br>770,card.zip <br>名片管理(35KB)<br>771,cihsafe.zip <br>CIH病毒免疫程序(63KB)<br>772,wb1-zippack.zip <br>密码小管家(13KB)<br>773,heibai.zip <br>黑白棋(6KB)<br>774,imdshtdown.zip <br>一个倒计时的程序,时间到则关闭系统(9KB)<br>775,iconproc.zip <br>1个图标操作的技巧,1个图标有5种显示效果(正常、无准备、选择、等等) (14KB)<br>776,money.zip <br>货币的数字到中文换算(2KB)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值