怎么让程序最小化到托盘,并不停变换图标?

aton 2002-06-16 02:33:09
怎么让程序最小化到托盘,并不停变换图标?
...全文
129 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
lj_csdn 2002-06-20
  • 打赏
  • 举报
回复
给你一个纯C的框架
#include <windows.h>
#include <stdio.h>
#include <shellapi.h>
#include <memory.h>
#include <io.h>
#include <fcntl.h>
#include <dir.h>
#include <shellapi.h>

#define WIDTH 280
#define HEIGHT 28

char *app_name="receiver";
HICON myicon;
#define iconmessage (WM_USER+0x10001)

long PASCAL WndProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam );

int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev_inst, LPSTR cmd_line, int cmd_show )
{ HWND hwnd;
MSG msg;
WNDCLASS wnd_class;
// Register the Window Class and Procedure

myicon=(HICON)LoadImage(NULL,"receiver.ico",IMAGE_ICON,LR_DEFAULTSIZE,LR_DEFAULTSIZE,LR_LOADFROMFILE);
icon2=(HICON)LoadImage(NULL,"xxxx.ico",IMAGE_ICON,LR_DEFAULTSIZE,LR_DEFAULTSIZE,LR_LOADFROMFILE);
if ( ! prev_inst )
{ wnd_class.style = CS_HREDRAW | CS_VREDRAW;
wnd_class.lpfnWndProc = WndProc;
wnd_class.cbClsExtra = 0;
wnd_class.cbWndExtra = 0;
wnd_class.hInstance = inst;
wnd_class.hIcon = myicon;
wnd_class.hCursor = LoadCursor ( NULL,IDC_ARROW);
wnd_class.hbrBackground = CreateSolidBrush(RGB(214,211,206));
wnd_class.lpszMenuName = app_name;
wnd_class.lpszClassName = app_name;
RegisterClass ( &wnd_class );
}
// Create the Main Window
hwnd = CreateWindow ( app_name, app_name,
WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX,
10,//(GetSystemMetrics(SM_CXSCREEN)-WIDTH),
10,//GetSystemMetrics(SM_CYSCREEN)-HEIGHT*2,
WIDTH,HEIGHT,
NULL,NULL, inst, NULL);
if (hwnd==NULL) return 0;
// Display the window
ShowWindow(hwnd,SW_HIDE);
UpdateWindow(hwnd);

while (GetMessage(&msg,NULL,0,0))
{ TranslateMessage(&msg );
DispatchMessage(&msg );
}
return msg.wParam;
}

void AddTrayIcon(HWND hwnd,char *msg)
{ NOTIFYICONDATA icondata;
memset(&icondata,0,sizeof(icondata));
icondata.cbSize=sizeof(icondata);
icondata.hWnd=hwnd;
strncpy(icondata.szTip,msg,sizeof(icondata.szTip));
icondata.hIcon=myicon;
icondata.uCallbackMessage=iconmessage;
icondata.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
Shell_NotifyIcon(NIM_ADD,&icondata);
}

void RemoveTrayIcon(HWND hwnd)
{ NOTIFYICONDATA icondata;
memset(&icondata,0,sizeof(icondata));
icondata.cbSize=sizeof(icondata);
icondata.hWnd=hwnd;
Shell_NotifyIcon(NIM_DELETE,&icondata);
}

void ModifyTrayMsg(HWND hwnd,char *msg)
{ NOTIFYICONDATA icondata;
memset(&icondata,0,sizeof(icondata));
icondata.cbSize=sizeof(icondata);
icondata.hWnd=hwnd;
strncpy(icondata.szTip,msg,sizeof(icondata.szTip));
icondata.uFlags=NIF_TIP;
Shell_NotifyIcon(NIM_MODIFY,&icondata);
}

void ModifyTrayIcon(HWND hwnd,HICON icon)
{ NOTIFYICONDATA icondata;
memset(&icondata,0,sizeof(icondata));
icondata.cbSize=sizeof(icondata);
icondata.hWnd=hwnd;
icondata.hIcon=icon;
icondata.uFlags=NIF_ICON;
Shell_NotifyIcon(NIM_MODIFY,&icondata);
}

case WM_CREATE:
AddTrayIcon(hwnd,"receiver");

case WM_TIMER :
ModifyTrayMsg(hwnd,"test");
if (xxx) ModifyTrayIcon(hwnd,icon2);
else ModifyTrayIcon(hwnd,myicon);

DelUser 2002-06-20
  • 打赏
  • 举报
回复
强烈关注!
lyhold 2002-06-20
  • 打赏
  • 举报
回复
在Delphi中用好图标资源
邓家宏
图标是组成应用程序的重要资源,我们的设计目标是让程序标题栏上的图标交替显示,形成动画效果。

方法一:调用图标文件
1.首先在窗体中添加一变量,控制图标交替显示,语句如下:

var

Form1: TForm1;

ico:integer;//添加这一句

双击窗体为其OnCreat事件添加代码,如下:

ico:=1

2.在窗体中添加一时钟控件,设置其Interal属性为100(即两个图标交替出现的时间间隔),为OnTimer事件添加代码,如下:

if ico=1 then

begin

form1.icon.LoadFromFile('d:\amydocu\ico1.ico')//显示图标1

ico:=2

end

else

begin

form1.icon.LoadFromFile('d:\amydocu\ico2.ico') //显示图标2

ico:=1;

end;

3.运行窗体,即可得到动画图标。

方法二:利用程序中的图标资源
方法一设计出的程序在发布时,必须带上图标文件,否则无法运行。为了克服这一缺点,我们可以将图标文件做成资源文件,将其包含在执行文件中,使程序更专业化,他人想轻易改变图标也较困难。

1.首先建立资源文件demo.rc,它是一个文本文件,包含如下内容:

ico1 icon D:\amydocu\ico1.ico

ico2 icon D:\amydocu\ico2.ico

2.在DOS提示符下利用Delphi提供的资源编译器brcc32.exe将其编译成demo.res,命令如下:

brcc32 demo.rc

3.将生成的demo.res加入程序中,可以在窗体中加入如下代码:

implementation

{$R *.DFM}

{$R d:\amydocu\resource.res}

4.使用图标资源,将方法一中时钟控件的OnTimer事件改为如下代码:

if ico=1 then

begin

form1.Icon.Handle:=Loadicon(hinstance,'ico1');

ico:=2;

end

else

begin

form1.Icon.Handle:=Loadicon(hinstance.'ico2');

ico:=1;

end;
ehom 2002-06-20
  • 打赏
  • 举报
回复
要变换图标可以改变以上控件的TSysTray.Icon!实际上就是调用了API:Shell_NotifyIcon(NIM_MODIFY, @FIconData)进行重载!
ehom 2002-06-20
  • 打赏
  • 举报
回复
unit SysTray;

interface

uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
ShellApi, ExtCtrls, Menus, StdCtrls;

const
WM_SYSTRAY = WM_USER + 1;
IDI_TRAYICON = 0;

type
TPopupMode = set of(pmLeftClick, pmRightClick, pmLeftDblClick, pmRightDblClick);
TMouseEvent= procedure(Sender: TObject;
Button: TMouseButton;
X, Y: Integer) of object;

TSysTray = class(TComponent)
private
{ Private declarations }
FIcon: TIcon;
FIconData: TNotifyIconData;
FParentWindow: HWnd;
FWindowHandle: HWnd;
FHint: string;
FPopupMenu: TPopupMenu;
FPopupAlign: TPopupAlignment;
FPopupMode: TPopupMode;
FActive: boolean;
FShowDesigning: boolean;

FOnIconMouseDown: TMouseEvent;
FOnIconDoubleClick: TMouseEvent;

function AddIcon: boolean;
function DeleteIcon: boolean;
function ModifyIcon: boolean;

procedure SetIcon(Icon: TIcon);
procedure SetHint(Hint: string);
procedure SetActive(Value: boolean);
procedure SetShowDesigning(Value: boolean);
procedure FillDataStructure;

procedure WndProc(var Msg: TMessage); message WM_SYSTRAY;

protected
{ Protected declarations }

public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;

published
{ Published declarations }
property Active: boolean read FActive write SetActive;
property ShowDesigning: boolean read FShowDesigning write SetShowDesigning;
property Icon: TIcon Read FIcon write SetIcon;
property Hint: string read FHint write SetHint;
property PopupMenu: TPopupMenu read FPopupMenu write FPopupMenu;
property PopupMode: TPopupMode read FPopupMode write FPopupMode;
property PopupAlign: TPopupAlignment read FPopupAlign write FPopupAlign;

property OnIconDoubleClick:TMouseEvent
read FOnIconDoubleClick write FOnIconDoubleClick;
property OnIconMouseDown:TMouseEvent
read FOnIconMouseDown write FOnIconMouseDown ;
end;

procedure Register;

implementation

constructor TSysTray.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FIcon := TIcon.Create;
FHint := 'SysTray Component.';
FPopupMode := [pmRightClick];
FPopupAlign := paRight;
FActive := false;
FShowDesigning := false;

if (AOwner <> nil) and (AOwner is TForm) then
FParentWindow := TForm(AOwner).Handle
else
FParentWindow := 0;

FWindowHandle := AllocateHWnd(WndProc);

FillDataStructure;
end;

destructor TSysTray.Destroy;
begin
try
if (not (csDesigning in ComponentState) and FActive)
or ((csDesigning in ComponentState) and FShowDesigning) then
DeleteIcon;
finally
FIcon.Free;
DeallocateHWnd(FWindowHandle);
end;
inherited Destroy;
end;

function TSysTray.AddIcon: boolean;
begin
FillDataStructure;
Result := Shell_NotifyIcon(NIM_ADD, @FIconData);
end;

function TSysTray.DeleteIcon: boolean;
begin
Result := Shell_NotifyIcon(NIM_DELETE, @FIconData);
end;

function TSysTray.ModifyIcon: boolean;
begin
FillDataStructure;
if FActive then
Result := Shell_NotifyIcon(NIM_MODIFY, @FIconData)
else
Result := true;
end;

procedure TSysTray.SetIcon(Icon: TIcon);
begin
FIcon.Assign(Icon);
ModifyIcon;
end;

procedure TSysTray.SetHint(Hint: string);
begin
if Length(Hint) >= 64 then Hint := Copy(Hint, 1, 63);
FHint := Hint;
ModifyIcon;
end;

procedure TSysTray.SetActive(Value: boolean);
begin
if Value <> FActive then
begin
FActive := Value;
if not (csDesigning in ComponentState) then
begin
case Value of
true: AddIcon;
false: DeleteIcon;
end;
end;
end;
end;

procedure TSysTray.SetShowDesigning(Value: boolean);
begin
if (csDesigning in ComponentState) then
begin
if Value <> FShowDesigning then
begin
FShowDesigning := Value;
case Value of
true: AddIcon;
false: DeleteIcon;
end;
end;
end;
end;

procedure TSysTray.FillDataStructure;
begin
With FIconData do
begin
uCallbackMessage:=WM_SYSTRAY;
cbSize := SizeOf(FIconData);
uID := IDI_TRAYICON;
wnd := FWindowHandle;
hIcon := FIcon.Handle;
StrCopy(FIconData.szTip, PChar(FHint));
uFlags := NIF_ICON + NIF_TIP + NIF_MESSAGE;
end;
end;

procedure TSysTray.WndProc(var Msg: TMessage);
var
P: TPoint;
begin
if (Msg.WParam <> IDI_TRAYICON) then exit;
if Assigned(FPopupMenu) then
FPopupMenu.Alignment := FPopupAlign;

GetCursorPos(p);
case Msg.LParam of
WM_LBUTTONDOWN:
begin
if (pmLeftClick in FPopupMode) and Assigned(FPopupMenu) then
begin
SetForegroundWindow(FParentWindow);
FPopupMenu.Popup(p.x,p.y);
end;
if Assigned(FOnIconMouseDown) then
begin
SetForegroundWindow(FParentWindow);
FOnIconMouseDown(Self, mbLeft, p.x, p.y);
end;
end;

WM_RBUTTONDOWN:
begin
if (pmRightClick in FPopupMode) and Assigned(FPopupMenu) then
begin
SetForegroundWindow(FParentWindow);
FPopupMenu.Popup(p.x,p.y);
end;
if Assigned(FOnIconMouseDown) then
begin
SetForegroundWindow(FParentWindow);
FOnIconMouseDown(Self, mbRight, p.x, p.y);
end;
end;

WM_LBUTTONDBLCLK:
begin
if (pmLeftDblClick in FPopupMode) and Assigned(FPopupMenu) then
begin
SetForegroundWindow(FParentWindow);
FPopupMenu.Popup(p.x,p.y);
end;
if Assigned(FOnIconDoubleClick) then
begin
SetForegroundWindow(FParentWindow);
FOnIconDoubleClick(Self, mbLeft, p.x, p.y);
end;
end;

WM_RBUTTONDBLCLk:
begin
if (pmRightDblClick in FPopupMode) and Assigned(FPopupMenu) then
begin
SetForegroundWindow(FParentWindow);
FPopupMenu.Popup(p.x,p.y);
end;
if Assigned(FOnIconDoubleClick) then
begin
SetForegroundWindow(FParentWindow);
FOnIconDoubleClick(Self, mbRight, p.x, p.y);
end;
end;

else
Msg.Result := DefWindowProc(FWindowHandle, Msg.Msg, Msg.wParam, Msg.lParam);
end;
end;

end.
ehom 2002-06-20
  • 打赏
  • 举报
回复
unit SysTray;

interface

uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
ShellApi, ExtCtrls, Menus, StdCtrls;

const
WM_SYSTRAY = WM_USER + 1;
IDI_TRAYICON = 0;

type
TPopupMode = set of(pmLeftClick, pmRightClick, pmLeftDblClick, pmRightDblClick);
TMouseEvent= procedure(Sender: TObject;
Button: TMouseButton;
X, Y: Integer) of object;

TSysTray = class(TComponent)
private
{ Private declarations }
FIcon: TIcon;
FIconData: TNotifyIconData;
FParentWindow: HWnd;
FWindowHandle: HWnd;
FHint: string;
FPopupMenu: TPopupMenu;
FPopupAlign: TPopupAlignment;
FPopupMode: TPopupMode;
FActive: boolean;
FShowDesigning: boolean;

FOnIconMouseDown: TMouseEvent;
FOnIconDoubleClick: TMouseEvent;

function AddIcon: boolean;
function DeleteIcon: boolean;
function ModifyIcon: boolean;

procedure SetIcon(Icon: TIcon);
procedure SetHint(Hint: string);
procedure SetActive(Value: boolean);
procedure SetShowDesigning(Value: boolean);
procedure FillDataStructure;

procedure WndProc(var Msg: TMessage); message WM_SYSTRAY;

protected
{ Protected declarations }

public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;

published
{ Published declarations }
property Active: boolean read FActive write SetActive;
property ShowDesigning: boolean read FShowDesigning write SetShowDesigning;
property Icon: TIcon Read FIcon write SetIcon;
property Hint: string read FHint write SetHint;
property PopupMenu: TPopupMenu read FPopupMenu write FPopupMenu;
property PopupMode: TPopupMode read FPopupMode write FPopupMode;
property PopupAlign: TPopupAlignment read FPopupAlign write FPopupAlign;

property OnIconDoubleClick:TMouseEvent
read FOnIconDoubleClick write FOnIconDoubleClick;
property OnIconMouseDown:TMouseEvent
read FOnIconMouseDown write FOnIconMouseDown ;
end;

procedure Register;

implementation

constructor TSysTray.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FIcon := TIcon.Create;
FHint := 'SysTray Component.';
FPopupMode := [pmRightClick];
FPopupAlign := paRight;
FActive := false;
FShowDesigning := false;

if (AOwner <> nil) and (AOwner is TForm) then
FParentWindow := TForm(AOwner).Handle
else
FParentWindow := 0;

FWindowHandle := AllocateHWnd(WndProc);

FillDataStructure;
end;

destructor TSysTray.Destroy;
begin
try
if (not (csDesigning in ComponentState) and FActive)
or ((csDesigning in ComponentState) and FShowDesigning) then
DeleteIcon;
finally
FIcon.Free;
DeallocateHWnd(FWindowHandle);
end;
inherited Destroy;
end;

function TSysTray.AddIcon: boolean;
begin
FillDataStructure;
Result := Shell_NotifyIcon(NIM_ADD, @FIconData);
end;

function TSysTray.DeleteIcon: boolean;
begin
Result := Shell_NotifyIcon(NIM_DELETE, @FIconData);
end;

function TSysTray.ModifyIcon: boolean;
begin
FillDataStructure;
if FActive then
Result := Shell_NotifyIcon(NIM_MODIFY, @FIconData)
else
Result := true;
end;

procedure TSysTray.SetIcon(Icon: TIcon);
begin
FIcon.Assign(Icon);
ModifyIcon;
end;

procedure TSysTray.SetHint(Hint: string);
begin
if Length(Hint) >= 64 then Hint := Copy(Hint, 1, 63);
FHint := Hint;
ModifyIcon;
end;

procedure TSysTray.SetActive(Value: boolean);
begin
if Value <> FActive then
begin
FActive := Value;
if not (csDesigning in ComponentState) then
begin
case Value of
true: AddIcon;
false: DeleteIcon;
end;
end;
end;
end;

procedure TSysTray.SetShowDesigning(Value: boolean);
begin
if (csDesigning in ComponentState) then
begin
if Value <> FShowDesigning then
begin
FShowDesigning := Value;
case Value of
true: AddIcon;
false: DeleteIcon;
end;
end;
end;
end;

procedure TSysTray.FillDataStructure;
begin
With FIconData do
begin
uCallbackMessage:=WM_SYSTRAY;
cbSize := SizeOf(FIconData);
uID := IDI_TRAYICON;
wnd := FWindowHandle;
hIcon := FIcon.Handle;
StrCopy(FIconData.szTip, PChar(FHint));
uFlags := NIF_ICON + NIF_TIP + NIF_MESSAGE;
end;
end;

procedure TSysTray.WndProc(var Msg: TMessage);
var
P: TPoint;
begin
if (Msg.WParam <> IDI_TRAYICON) then exit;
if Assigned(FPopupMenu) then
FPopupMenu.Alignment := FPopupAlign;

GetCursorPos(p);
case Msg.LParam of
WM_LBUTTONDOWN:
begin
if (pmLeftClick in FPopupMode) and Assigned(FPopupMenu) then
begin
SetForegroundWindow(FParentWindow);
FPopupMenu.Popup(p.x,p.y);
end;
if Assigned(FOnIconMouseDown) then
begin
SetForegroundWindow(FParentWindow);
FOnIconMouseDown(Self, mbLeft, p.x, p.y);
end;
end;

WM_RBUTTONDOWN:
begin
if (pmRightClick in FPopupMode) and Assigned(FPopupMenu) then
begin
SetForegroundWindow(FParentWindow);
FPopupMenu.Popup(p.x,p.y);
end;
if Assigned(FOnIconMouseDown) then
begin
SetForegroundWindow(FParentWindow);
FOnIconMouseDown(Self, mbRight, p.x, p.y);
end;
end;

WM_LBUTTONDBLCLK:
begin
if (pmLeftDblClick in FPopupMode) and Assigned(FPopupMenu) then
begin
SetForegroundWindow(FParentWindow);
FPopupMenu.Popup(p.x,p.y);
end;
if Assigned(FOnIconDoubleClick) then
begin
SetForegroundWindow(FParentWindow);
FOnIconDoubleClick(Self, mbLeft, p.x, p.y);
end;
end;

WM_RBUTTONDBLCLk:
begin
if (pmRightDblClick in FPopupMode) and Assigned(FPopupMenu) then
begin
SetForegroundWindow(FParentWindow);
FPopupMenu.Popup(p.x,p.y);
end;
if Assigned(FOnIconDoubleClick) then
begin
SetForegroundWindow(FParentWindow);
FOnIconDoubleClick(Self, mbRight, p.x, p.y);
end;
end;

else
Msg.Result := DefWindowProc(FWindowHandle, Msg.Msg, Msg.wParam, Msg.lParam);
end;
end;

end.
Lemon_2000 2002-06-19
  • 打赏
  • 举报
回复
up
lyhold 2002-06-17
  • 打赏
  • 举报
回复
netlib(河外孤星) ( ) 信誉:105
写的很好!!!!!
lyhold 2002-06-17
  • 打赏
  • 举报
回复
netlib(河外孤星) ( ) 信誉:105
写的很好!!!!!
saimaya 2002-06-17
  • 打赏
  • 举报
回复
去下载CoolTray控件
lmpeel 2002-06-17
  • 打赏
  • 举报
回复
我是用cooltrayicon
aton 2002-06-17
  • 打赏
  • 举报
回复
to netlib(河外孤星):
用你的方法点右键弹出菜单后,鼠标再点击空白地方菜单不会消失,一定要点了菜单才行.
让图标不停变动,这一句怎么改? ntida.hIcon:=Application.Icon.handle;

to happyjoe(尘土飞扬):
发一个吧,
liupingzhong@163.com
daehappy 2002-06-16
  • 打赏
  • 举报
回复
up!关注!
fqsxr 2002-06-16
  • 打赏
  • 举报
回复
trayicon控件可以实现一切你想要的。
zhengxionglai 2002-06-16
  • 打赏
  • 举报
回复
我是用cooltrayicon
zhptj 2002-06-16
  • 打赏
  • 举报
回复
有一个cooltrayicon的托盘控件
实现这个很简单
uwslxcs2 2002-06-16
  • 打赏
  • 举报
回复
你最好找一个有原码的控件,比如RX LIB里就有,这个控件很容易找到
happyjoe 2002-06-16
  • 打赏
  • 举报
回复
我还将它改造的可以显示Balloon Tooltips,只要调用ShowBalloonTips方法就可以。要的话留下email.
happyjoe 2002-06-16
  • 打赏
  • 举报
回复
用rx的vcl吧,做的很经典
只是rx没有出delphi6版本的。
不过,我把这个控件单独提出来了,可在delphi6下用,要不要
netlib 2002-06-16
  • 打赏
  • 举报
回复
托盘实现,你只要在定时器中改图,就可以实现让它动了,就象qq一样。
下面是托盘技术
一、 实现步骤
1. 创建一个应用程序,在主窗体上增加一个TpopupMenu组件。并为该弹出菜单组件增加菜单项Exit,标题为“退出”。
2. 在Uses中添加ShellAPI,因为在系统状态栏中增加图标时需调用ShellAPI函数Shell_NotifyIconA。该函数需要2个参数,其中一个是TnotifyIconDataA结构,需在主窗体中增加TnotifyIconDataA类型全局变量ntida。
3. 定义消息mousemsg,并编写主窗体的mousemessage消息处理函数,此函数说明在图标上用鼠标左键单击时,会打开应用程序窗口;用鼠标右键单击时,会弹出一个菜单。
下面给出步骤2和3的实现代码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Menus, shellapi;

const
mousemsg = wm_user + 1; //自定义消息,用于处理用户在图标上点击鼠标的事件
iid = 100; //用户自定义数值,在TnotifyIconDataA类型全局变量ntida中使用。

type
TForm1 = class(TForm)
......
private
//自定义消息处理函数,处理鼠标点击图标事件
procedure mousemessage(var message: tmessage); message mousemsg;
public
{ Public declarations }
end;

var
Form1: TForm1;
ntida: TNotifyIcondataA; //用于增加和删除系统状态图标
implementation

{$R *.DFM}

procedure TForm1.mousemessage(var message: tmessage);
var
mousept: TPoint; //鼠标点击位置
begin
inherited;
if message.LParam = wm_rbuttonup then begin //用鼠标右键点击图标
getcursorpos(mousept); //获取光标位置
popupmenu1.popup(mousept.x, mousept.y); //在光标位置弹出菜单
end;
if message.LParam = wm_lbuttonup then begin //用鼠标左键点击图标
//显示应用程序窗口
ShowWindow(Handle, SW_SHOW);
//在任务栏上显示应用程序窗口
ShowWindow(Application.handle, SW_SHOW);
SetWindowLong(Application.Handle, GWL_EXSTYLE,
not (GetWindowLong(Application.handle, GWL_EXSTYLE)
or WS_EX_TOOLWINDOW AND NOT WS_EX_APPWINDOW));
end;
message.Result := 0;
end
4. 编辑TForm1.FormCreate(Sender: TObject)
应用程序开始运行时,在系统状态栏上生成图标显示,代码如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
ntida.cbSize := sizeof(tnotifyicondataa); //指定ntida的长度
ntida.Wnd := handle; //取应用程序主窗体的句柄
ntida.uID := iid; //用户自定义的一个数值,在uCallbackMessage参数指定的消息中使用
ntida.uFlags := nif_icon + nif_tip + nif_message;//指定在该结构中uCallbackMessage、hIcon、szTip参数都有效
ntida.uCallbackMessage := mousemsg;//指定的窗口消息
ntida.hIcon := Application.Icon.handle;//指定系统状态栏显示应用程序的图标句柄
ntida.szTip := 'Icon'; //当鼠标停留在系统状态栏该图标上时,出现该提示信息
shell_notifyicona(NIM_ADD, @ntida); //在系统状态栏增加一个新图标
end;
5. 编辑Tform1.OnClose
当用户关闭应用程序窗口时,该窗口和任务栏上相应的应用程序窗口都消失,但程序并没有退出。代码如下:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caNone; //不对窗体进行任何操作
ShowWindow(Handle, SW_HIDE); //隐藏主窗体
//隐藏应用程序窗口在任务栏上的显示
ShowWindow(Application.Handle, SW_HIDE);
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.handle, GWL_EXSTYLE)
or WS_EX_TOOLWINDOW AND NOT WS_EX_APPWINDOW);
end;
6. 编辑弹出菜单Exit
当用户点击该菜单时完全退出应用程序。代码如下:
procedure TForm1.ExitClick(Sender: TObject);
begin
//为ntida赋值,指定各项参数
ntida.cbSize := sizeof(tnotifyicondataa);
ntida.wnd := handle;
ntida.uID := iid;
ntida.uFlags := nif_icon + nif_tip + nif_message;
ntida.uCallbackMessage := mousemsg;
ntida.hIcon := Application.Icon.handle;
ntida.szTip := 'Icon';
shell_notifyicona(NIM_DELETE, @ntida); //删除已有的应用程序图标
Application.Terminate; //中断应用程序运行,退出应用程序
end;

---------------------------------------------------------------

const WM_MYTRAYICONCALLBACK = WM_USER + 1000;

type
TForm1 = class(TForm)
...
n_MainFromDispOrHide: TMenuItem;
private
{ Private declarations }
MyTrayIcon : TNotifyIconData; //定义一个托盘图标的类
procedure TrayShow(Sender: TObject);
procedure WMMyTrayIconCallBack(var Msg : TMessage); //处理点击托盘图标的事件
message WM_MYTRAYICONCALLBACK;
procedure n_MainFromDispOrHideClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
...
end;

procedure TForm1.TrayShow(Sender: TObject);
//当点击托盘图标时显示或隐含主窗体
begin
TrayBarPopMenu.AutoPopup:=False;
//设定 TNotifyIconData 的记录长度
MyTrayIcon.cbSize :=SizeOf(tnotifyicondata);
//确定调用程序的窗体句柄
MyTrayIcon.Wnd :=Handle;
//确定图标的 uID
MyTrayIcon.uID :=1;
//设定显示标记
MyTrayIcon.uFlags :=NIF_ICON or NIF_TIP or NIF_MESSAGE;
//用户自定义消息
MyTrayIcon.uCallbackMessage := WM_MYTRAYICONCALLBACK;
//托盘图标的句柄
MyTrayIcon.hIcon := Application.Icon.Handle;
//托盘图标的提示信息
MyTrayIcon.szTip :='定时导数据程序';
//向托盘中添加图标
Shell_NotifyIcon(NIM_ADD,@mytrayicon);
end;

procedure TForm1.WMMyTrayIconCallBack(var Msg: TMessage);
//处理点击托盘图标的事件,根据 WM_MOUSEMOVE 消息的不同情况产生不同的回应
var
CursorPos : TPoint;
begin
TrayBarPopMenu.AutoPopup:=False;
case Msg.lParam of
//左键按下
WM_LBUTTONDOWN : begin
application.MainForm.BringToFront; //窗体置前
end;
//左键双击
WM_LBUTTONDBLCLK : begin //窗体隐含或显示
Application.MainForm.Visible := not Application.MainForm.Visible;
SetForegroundWindow(Application.Handle);
end;
//右键按下
WM_RBUTTONDOWN : begin //显示弹出菜单
GetCursorPos(CursorPos);
TrayBarPopMenu.Popup(CursorPos.x,CursorPos.y);
end;
end//case
end;

procedure TForm1.n_MainFromDispOrHideClick(Sender: TObject);
begin
if Application.MainForm.Visible then
begin
if FormStep1.Showing Then FormStep1.Hide;
if FormStep2.Showing Then FormStep2.Hide;
Application.MainForm.Hide;
n_MainFromDispOrHide.Caption :='显示主窗体';
end
else
begin
Application.MainForm.Show;
n_MainFromDispOrHide.Caption :='隐藏主窗体';
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);//程序不在任务栏上显示
TrayShow(Application.MainForm);//显示图标
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Shell_NotifyIcon(NIM_DELETE, @MyTrayIcon);//删除托盘图标
end;

---------------------------------------------------------------

就是托盘技术,这种答案太多了,搜索一下可以找到非常多啊。
加载更多回复(1)
含本书PDF教程 共399个实例: 第1章 窗体与界面设计   1.1 菜单应用实例   cc实例001 在系统菜单中添加菜单项   cc实例002 带图标程序菜单   cc实例003 根据表中数据动态生成菜单   cc实例004 浮动的菜单   1.2 弹出菜单应用实例   cc实例005 在控件上单击右键弹出菜单   cc实例006 个性化的弹出菜单   cc实例007 任务栏托盘弹出菜单   1.3 工具栏应用实例   cc实例008 带背景的工具栏   cc实例009 带图标的工具栏   cc实例010 带下拉菜单的工具栏   cc实例011 可调整按钮位置的工具栏   cc实例012 浮动工具栏   cc实例013 根据表中数据动态生成工具栏   cc实例014 具有提示功能的工具栏   1.4 状态栏应用实例   cc实例015 带进度条的状态栏   cc实例016 动画效果的状态栏   cc实例017 滚动字幕的状态栏   1.5 导航界面应用实例   cc实例018 Outlook导航界面   cc实例019 树状导航界面   cc实例020 按钮导航界面   cc实例021 类QQ导航菜单   1.6 界面窗体应用实例   cc实例022 背景为渐变色的程序界面   cc实例023 椭圆形的程序界面   cc实例024 自绘窗体界面   cc实例025 类似WindowscXP的程序界面   cc实例026 窗体融合技术   cc实例027 限制对话框最大时的窗口大小   1.7 多媒体宣传光盘应用实例   cc实例028 多媒体宣传光盘主界面   cc实例029 自动运行的多媒体宣传光盘   1.8 多媒体触摸屏程序应用实例   cc实例030 采购中心多媒体触摸屏程序   cc实例031 为触摸屏程序添加虚拟键盘   1.9 窗体位置应用实例   cc实例032 不可移动的窗体   cc实例033 始终在最上面的窗体   cc实例034 动画显示窗体   cc实例035 以时钟显示界面窗体   1.10 窗体标题栏应用实例   cc实例036 闪烁的窗体标题栏   cc实例037 拖动没有标题栏的窗体   cc实例038 禁用标题栏上的最大化.c最小化或关闭按钮   1.11 窗体形状及应用   cc实例039 半透明窗体   cc实例040 创建字型窗体   cc实例041 百叶窗窗体   cc实例042 类似Office助手  第2章 控件应用   2.1 按钮控件典型实例   cc实例043 AVI动画按钮   cc实例044 GIF动画按钮   cc实例045 图文按钮   cc实例046 不规则按钮   2.2 EditBox控件典型实例   cc实例047 为EditBox设置新的系统菜单   cc实例048 为EditBox控件添加列表选择框   cc实例049 多彩边框的编辑框   cc实例050 改变编辑框文本颜色   2.3 ListBox控件典型实例   cc实例051 利用ListBox控件实现标签式数据选择   cc实例052 在ListBox控件间实现数据交换   cc实例053 列表项的提示条   2.4 ComboBox控件典型实例   cc实例054 将数据表中的字段添加到ComboBox控件   cc实例055 带查询功能的ComboBox控件   cc实例056 自动调整组合框的宽度   cc实例057 颜色组合框   cc实例058 多列显示的组合框   2.5 ListControl控件典型实例   cc实例059 将数据库中的数据表添加到ListControl控件   cc实例060 利用ListControl控件浏览数据   cc实例061 利用ListControl控件制作导航界面   cc实例062 在列表视图中拖动视图项   cc实例063 利用列标题对列表视图进行数据排序   cc实例064 具有文本录入功能的ListControl控件   2.6 TreeControl控件典型实例   cc实例065 多级数据库树状结构数据显示   cc实例066 可动态修改节点的树状结构   cc实例067 带复选功能的树状结构   cc实例068 显示磁盘目录   cc实例069 树型提示框   2.7 RichEdit控件典型实例   cc实例070 利用RichEdit显示Word文档   cc实例071 利用RichEdit控件实现文字定位与标识   cc实例072 利用RichEdit控件显示图文数据   2.8 图形类控件典型实例   cc实例073 图文数据录入   cc实例074 带有滚动条的图形控件   2.9 滚动条控件典型实例   cc实例075 自定义滚动条控件   2.10 控件数组典型实例   cc实例076 向窗体中动态添加控件  cc 实例077 公交线路模拟  第3章 图形技术   3.1 绘制图形   cc实例078 绘制正弦曲线   cc实例079 绘制艺术图案   cc实例080 画图程序   cc实例081 绘制立体模型   cc实例082 利用IFS算法绘制自然景物   3.2 图像预览   cc实例083 图片自动预览程序   cc实例084 图片批量浏览   cc实例085 浏览大幅BMP图片   cc实例086 放大和缩小图片   cc实例087 可随鼠标移动的图形   cc实例088 随图像大小变换的图像浏览器   3.3 图片效果   cc实例089 图片马赛克效果   cc实例090 图片百叶窗效果   cc实例091 电影胶片特效   cc实例092 翻转图片效果   3.4 图片颜色转换   cc实例093 图像的锐化处理   cc实例094 图片反色处理   cc实例095 图像的灰度化转换   cc实例096 显示JPG图片   3.5 图形转换与缩放   cc实例097 将位图转换为JPG   cc实例098 将位图转为GIF图标   cc实例099 图片的平滑缩放   3.6 图像的剪切与合成   cc实例100 图像的剪切   cc实例101 图像的合成  3.7 图像识别   cc实例102 获取鼠标任意位置的颜色值   cc实例103 提取图片中的对象   cc实例104 手写数字识别   3.8 图像字体  cc 实例105 旋转的文字   cc实例106 当前系统字体列表   cc实例107 空心文字   cc实例108 如何在图片上平滑移动文字   3.9 图像管理   cc实例109 管理计算机内图片文件的程序   cc实例110 提取并保存应用程序图标   3.10 图片动画   cc实例111 利用图片制作屏幕保护程序   cc实例112 图片动画   3.11 简单游戏设计   cc实例113 拼图游戏   cc实例114 网络五子棋   cc实例115 彩票抽奖机   3.12 OpenGL程序设计   cc实例116 制作OpenGL动画   cc实例117 利用OpenGL绘制立体模型   cc实例118 利用OpenGL绘制NURBS曲线  第4章 多媒体技术   4.1 动画   cc实例119 利用Image控件制作小动画   cc实例120 透明的Flash动画   cc实例121 播放GIF动画   cc实例122 播放AVI动画   cc实例123 播放VCD   4.2 制作与播放音频   cc实例124 可以选择播放曲目的CD播放器   cc实例125 MP3播放器   cc实例126 声音录制与播放   cc实例127 制作RealOne播放器   4.3 多媒体控制   cc实例128 部队早起军号程序   cc实例129 利用PC喇叭播放声音   cc实例130 c控制左右声道   4.4 屏幕保护相关程序   cc实例131 电子相册屏幕保护程序   cc实例132 产品宣传屏幕保护程序   4.5 DirectShow程序设计   cc实例133 音频捕捉   cc实例134 视频捕捉  第5章 文件系统   5.1 文件的基本操作   cc实例135 创建和删除文件夹   cc实例136 把文件删除到回收站中   cc实例137 清空回收站   5.2 查找文件   cc实例138 搜索文件   cc实例139 检查文件是否存在   cc实例140 提取指定文件夹目录到INI文件   5.3 与文件目录相关的命令操作   cc实例141 删除文件目录   cc实例142 重命名文件目录   5.4 文件.c文件夹的复制和移动   cc实例143 批量移动文件   cc实例144 网络文件夹复制   cc实例145 文件复制过程中显示进度条   5.5 文件修改   cc实例146 更改文件夹图标   cc实例147 批量删除指定类型的文件   cc实例148 批量重命名文件   cc实例149 修改文件属性   cc实例150 修改文件及目录的名称   5.6 文件的读取与保存   cc实例151 顺序读取文件   cc实例152 制作日志文件   5.7 文件管理   cc实例153 分类整理磁盘文件   cc实例154 计算机磁盘空间报警程序   cc实例155 批量改变指定文件的属性   5.8 加密与解密   cc实例156 文件的加密与解密   cc实例157 文件夹加密   5.9 其他文件管理知识   cc实例158 文件分割器   cc实例159 帮助文件   cc实例160 用WinRar压缩和解压文件   cc实例161 判断文件是否被改动   第6章 操作系统与Windows相关程序   6.1 启动相关设置   cc实例162 进入WindowscXP前发出警告   cc实例163 实现关机.c重启计算机   cc实例164 将程序设置成为开机自动执行的程序   6.2 磁盘相关设置   cc实例165 判断驱动器属性   cc实例166 获取磁盘空间信息   cc实例167 获取磁盘序列号   cc实例168 取消磁盘共享   cc实例169 格式化磁盘   6.3 桌面相关设置   cc实例170 隐藏.c显示“开始”按钮   cc实例171 隐藏.c显示桌面文件   cc实例172 隐藏.c显示Windows任务栏   6.4 系统相关设置   cc实例173 获得Windows和System的路径   cc实例174 控制光驱的弹开与关闭   cc实例175 启动控制面板   cc实例176 为程序添加快捷键   6.5 系统监控   cc实例177 检测系统启动模式   cc实例178 内存使用状态   cc实例179 监视剪贴板内容   cc实例180 利用钩子技术实现键盘监控   6.6 程序相关设置   cc实例181 用列表显示系统正在运行的程序   cc实例182 为程序添加快捷方式   cc实例183 设置其他程序中编辑框内的文本   cc实例184 执行一个外部程序直到其结束   cc实例185 调用具有参数的可执行程序   6.7 线程同步   cc实例186 利用事件对象实现线程同步   cc实例187 利用互斥对象实现线程同步   cc实例188 利用临界区实现线程同步   cc实例189 用信号量实现线程同步   cc实例190 多线程cc实例   6.8 鼠标.c键盘相关设置   cc实例191 动画鼠标   cc实例192 限制鼠标移动区域  第7章 注册表   7.1 显示与隐藏  cc 实例193 隐藏.c显示“我的电脑”.c“回收站”.c“网上邻居”   cc实例194 隐藏.c显示驱动器   7.2 IE设置   cc实例195 修改IE标题栏内容   cc实例196 隐藏IE浏览器的右键关联菜单   cc实例197 设置IE的默认主页   cc实例198 清空上网历史记录   7.3 文件控制   cc实例199 如何建立文件关联   cc实例200 控制光驱的自动运行功能   7.4 游戏设置   cc实例201 设置“蜘蛛纸牌”游戏   cc实例202 修改“扫雷”游戏的设置   7.5 应用软件设置   cc实例203 设置Wordc2000文档及图片的保存路径   cc实例204 更改Photoshop安装时的登记信息  第8章 数据库技术   8.1 连接数据库   cc实例205 使用ODBCcDSN连接SQLcServer数据库   cc实例206 用ADO动态连接数据库   cc实例207c连接Oracle数据库   8.2 添加数据   cc实例208 利用INSERT语句批量插入数据   cc实例209 利用SELECTcINTO生成临时表   8.3 更新数据   cc实例210 批量修改数据   cc实例211 将指定字段数据为空的记录添上数据   8.4 删除数据   cc实例212 删除单条数据   cc实例213 删除数据库中无用处的记录   8.5 视图   cc实例214 动态创建视图   cc实例215 通过视图更改数据   cc实例216 删除视图   8.6 触发器   cc实例217 创建触发器   cc实例218 在程序中使用触发器   8.7 存储过程   cc实例219 创建存储过程   cc实例220 删除存储过程   cc实例221 在程序中使用存储过程   cc实例222 调用具有输出参数的存储过程   8.8 数据库结构的读取与修改   cc实例223 读取Access数据库结构   cc实例224 读取SQLcServer数据库结构   8.9 图片.c多媒体数据录入技术   cc实例225 对Access数据库进行录入和提取图片   cc实例226 对SQLServer数据库进行录入和提取多媒体文件   cc实例227 对SQLcServer数据库进行录入和存储Word文档   8.10 数据备份恢复   cc实例228 Access数据库备份与还原   cc实例229 SQLcServer数据库备份与恢复   cc实例230 定时数据备份   8.11 其他数据库技术    实例231 断开SQLcServer数据库与其他应用程序的连接   cc实例232 在VisualcC++中执行事务   cc实例233 在程序中执行SQL脚本   cc实例234 利用SQL语句执行外围命令  第9章 SQL查询相关技术   9.1 通用查询   cc实例235 SQL语句的应用方法   cc实例236 SQL语句的模糊查询   cc实例237 利用查询语句复制表结构   9.2 查询控件   cc实例238 查询指定控件内字符串   cc实例239 查询日期控件内数据   cc实例240 控件作为字段.c操作符和内容进行查询   cc实例241 巧妙获取年龄   cc实例242 格式化金额   cc实例243 如何随机显示记录   9.3 查询前若干名数据   cc实例244 查询前10名数据   cc实例245 取出数据统计结果前3名数据   9.4 周期.c日期查询   cc实例246 查询指定日期的数据   cc实例247 查询指定时间段的数据   cc实例248 按月查询数据   9.5 大小比较.c逻辑查询.c重复记录查询   cc实例249 查询数据大于指定条件的数据   cc实例250 NOT与谓词进行组合条件的查询   cc实例251 查询时不显示重复记录   9.6 排序.c分组统计   cc实例252 对数据进行降序查询   cc实例253 对数据进行多条件排序   cc实例254 按仓库分组统计图书库存(多列)   cc实例255 多表分组统计   9.7 HAVING语句应用   cc实例256 利用HAVING语句过滤分组数据   cc实例257 将HAVING语句应用在多表查询中   9.8 聚集函数   cc实例258 利用聚集函数SUM对销售额进行汇总   cc实例259 利用聚集函数AVG求某班学生的平均年龄   cc实例260 利用聚集函数COUNT求日销售额大于某值的商品数   9.9 多表查询   cc实例261 利用FROM子句进行多表查询   cc实例262 合并多个结果集   9.10 嵌套查询   cc实例263 简单嵌套查询   cc实例264 复杂嵌套查询   9.11 子查询   cc实例265 用子查询作派生的表   cc实例266 把子查询作为表达式   cc实例267 在UPDATE语句中应用子查询   9.12 联合语句UNION   cc实例268 使用联合查询   cc实例269 多表联合查询   cc实例270 对联合查询后的结果进行排序   9.13 内连接查询   cc实例271 简单内连接查询   cc实例272 复杂内连接查询   cc实例273 使用内连接选择一个表与另一个表中行相关的所有行   9.14 外连接查询   cc实例274 LEFTcOUTERcJOIN查询   cc实例275 RIGHTcOUTERcJOIN查询   cc实例276 使用外连接进行多表联合查询   9.15 利用IN进行查询   cc实例277 使用IN引入子查询限定查询范围   cc实例278 用IN查询表中的记录信息   9.16 交叉表查询   cc实例279 利用TRANSFORM分析数据   cc实例280 利用TRANSFORM动态分析数据   cc实例281 静态交叉表(SQLcServerc2000)   cc实例282 动态交叉表(SQLcServerc2000)   9.17 函数查询   cc实例283 在查询语句中使用字符串函数   cc实例284 在查询中使用日期函数   cc实例285 在查询时为表中的空字段添加默认信息  第10章 打印与报表技术   10.1 基础报表打印   cc实例286 基于文档/视图结构的打印   cc实例287 基于对话框结构的打印程序   10.2 打印窗体   cc实例288 打印对话框及其控件中的数据   cc实例289 打印对话框文本   10.3 打印图片   cc实例290 打印图片   cc实例291 打印简历   10.4 利用报表生成器设计报表   cc实例292 简单报表   cc实例293 分组统计报表   cc实例294 主明细报表   10.5 打印邮寄单   cc实例295 打印汇款单   cc实例296 打印信封标签   10.6 打印证件   cc实例297 批量打印工作证   cc实例298 批量打印证书   10.7 打印单据   cc实例299 库存盘点单打印   cc实例300 连续纸销售单打印   cc实例301 发票打印   10.8 打印条形码和标签   cc实例302 批量打印条形码   cc实例303 打印连续号码的标签   10.9 其他格式报表打印   cc实例304 将DataGrid表格中的查询结果输出到Excel中   cc实例305 利用Word打印   cc实例306 利用Excel打印   10.10 控制打印   cc实例307 打印超长字符串自动换行   cc实例308 批量打印文档   cc实例309 实现横向打印   cc实例310 设置打印纸大小   cc实例311 获取打印纸的左边距和上边距   10.11 打印预览   cc实例312 修改文档/视图结构默认的打印预栏工具栏   cc实例313 自定义具有滚动条的打印预览窗口  第11章 图表技术   11.1 简单图表   cc实例314 利用图表分析产品价格行情   cc实例315 对图表数据进行打印   11.2 柱形图表   cc实例316 将汇总数据利用图表分析   cc实例317 对比数据分析   11.3 饼形图表   cc实例318 饼形图分析公司男女比例   cc实例319 商品日销售额图表分析  第12章 硬件相关开发技术   12.1 串口控制   cc实例320 通过串口传递数据   cc实例321 通过串口控制对方计算机关闭   12.2 加密狗   cc实例322 将密码写入加密狗   cc实例323 使用加密狗进行身份验证   12.3 IC卡的应用   cc实例324 向IC卡中写入数据   cc实例325 读取IC卡中的数据   cc实例326 利用IC卡制作考勤程序   12.4 监控   cc实例327 利用简易摄像头编写监控程序   cc实例328 编写监控录像程序   cc实例329 定时监控程序   cc实例330 医疗行业数字视频监控系统   cc实例331 远程视频监控系统   12.5 扫描.c条形码.cPOS控制   cc实例332 利用条形码扫描器销售商品   cc实例333 设计钱箱控制程序   cc实例334 设计扫描仪控制程序   cc实例335 设计发票机控制程序   12.6 语音卡控制   cc实例336 语音卡电话呼叫系统   cc实例337 语音卡实现来电显示   cc实例338 利用语音卡实现电话录音   cc实例339 利用语音卡实现点歌祝福   12.7 手机程序的开发   cc实例340 利用短信猫发送短信   cc实例341 利用短信远程关闭计算机   12.8 其他程序   cc实例342 利用神龙卡制作练歌房程序  第13章 网络开发技术   13.1 获取计算机信息   cc实例343 获取计算机名称和工作组  cc 实例344 通过计算机名获取IP地址   cc实例345 获取本机MAC地址   cc实例346 获得系统打开的端口和状态   13.2 局域网控制与管理   cc实例347 获取局域网中的计算机名称和IP地址   cc实例348 远程控制局域网中的计算机   13.3 局域网资源管理   cc实例349 局域网屏幕监控   cc实例350 提取局域网信息到数据库   13.4 网上资源共享   cc实例351 获得网上共享资源   cc实例352 映射网络驱动器   cc实例353 定时网络共享控制   13.5 网络连接与通信   cc实例354 编程实现ping操作   cc实例355 网络语音电话   cc实例356 网络流量监控   cc实例357 取得Modem的状态   cc实例358 检测TCP/IP是否安装   cc实例359 实现进程间的通信   cc实例360 利用内存映射实现进程间的通信   13.6 局域网应用   cc实例361 局域网聊天程序   cc实例362 网上调查   13.7 其他   cc实例363 获得拨号网络的列表   cc实例364 获取计算机上串口的数量   cc实例365 检测系统中安装的协议   cc实例366 域名解析  第14章 Web编程   14.1 上网控制   cc实例367 定时登录Internet   cc实例368 根据网络连接控制IE启动   14.2 文件上传与下载   cc实例369 FTP文件上传程序   cc实例370 利用VisualcC++实现软件下载   cc实例371 HTTP服务器多线程文件下载   14.3 邮件管理   cc实例372 邮件接收程序  cc 实例373 发送电子邮件附件   14.4 上网监控   cc实例374 监控上网过程   cc实例375 网络监听工具   14.5 浏览器应用   cc实例376 制作自己的网络浏览软件   cc实例377 XML数据库文档的浏览   14.6 网上信息提取   cc实例378 定时提取网页源码   cc实例379 网上天气预报   cc实例380 网页链接提取器   14.7 其他   cc实例381 利用TAPI实现网络拨号  第15章 加密.c安全与软件注册   15.1 数据加密与解密   cc实例382 数据加密技术   cc实例383 文本文件的加密与解密  cc 实例384 利用图片加密文件   15.2 Access数据库安全   cc实例385 编程修复Access数据库   cc实例386 对数据库中的表锁定和解锁   cc实例387 改变Accessc2000数据库头文件来加密数据库   15.3 软件注册与加密   cc实例388 利用INI文件对软件进行注册   cc实例389 利用注册表设计软件注册程序   cc实例390 利用网卡序列号设计软件注册程序   cc实例391 根据CPU序列号和磁盘序列号设计软件注册程序   15.4 计算机安全   cc实例392 设置计算机的安全等级  第16章 实用工具   16.1 数据库工具   cc实例393 自动配置ODBC的程序   cc实例394 制作SQLcServer提取器   cc实例395 自动附加SQLcServer数据库   16.2 个人工具   cc实例396 个人通讯录   cc实例397 电子名片盒   16.3 单位应用   cc实例398 局域网投票管理   cc实例399 加班网上管理 
此文件分为2部分 part1 = http://download.csdn.net/source/2362571 含本书全部源码(1-16章) 共399个实例:第1章 窗体与界面设计  1.1 菜单应用实例  cc实例001 在系统菜单中添加菜单项  cc实例002 带图标程序菜单   cc实例003 根据表中数据动态生成菜单  cc实例004 浮动的菜单  1.2 弹出菜单应用实例  cc实例005 在控件上单击右键弹出菜单  cc实例006 个性化的弹出菜单  cc实例007 任务栏托盘弹出菜单  1.3 工具栏应用实例  cc实例008 带背景的工具栏  cc实例 009 带图标的工具栏  cc实例010 带下拉菜单的工具栏  cc实例011 可调整按钮位置的工具栏  cc实例012 浮动工具栏  cc实例 013 根据表中数据动态生成工具栏  cc实例014 具有提示功能的工具栏  1.4 状态栏应用实例  cc实例015 带进度条的状态栏  cc 实例016 动画效果的状态栏  cc实例017 滚动字幕的状态栏  1.5 导航界面应用实例  cc实例018 Outlook导航界面  cc实例019 树状导航界面  cc实例020 按钮导航界面  cc实例021 类QQ导航菜单  1.6 界面窗体应用实例  cc实例022 背景为渐变色的程序界面  cc实例023 椭圆形的程序界面  cc实例024 自绘窗体界面  cc实例025 类似WindowscXP的程序界面  cc 实例026 窗体融合技术  cc实例027 限制对话框最大时的窗口大小  1.7 多媒体宣传光盘应用实例  cc实例028 多媒体宣传光盘主界面  cc实例029 自动运行的多媒体宣传光盘  1.8 多媒体触摸屏程序应用实例  cc实例030 采购中心多媒体触摸屏程序  cc实例031 为触摸屏程序添加虚拟键盘  1.9 窗体位置应用实例  cc实例032 不可移动的窗体  cc实例033 始终在最上面的窗体  cc实例034 动画显示窗体  cc实例035 以时钟显示界面窗体  1.10 窗体标题栏应用实例  cc实例036 闪烁的窗体标题栏  cc实例037 拖动没有标题栏的窗体  cc实例038 禁用标题栏上的最大化.c最小化或关闭按钮  1.11 窗体形状及应用  cc实例039 半透明窗体  cc实例 040 创建字型窗体  cc实例041 百叶窗窗体  cc实例042 类似Office助手 第2章 控件应用  2.1 按钮控件典型实例  cc 实例043 AVI动画按钮  cc实例044 GIF动画按钮  cc实例045 图文按钮  cc实例046 不规则按钮  2.2 EditBox 控件典型实例  cc实例047 为EditBox设置新的系统菜单  cc实例048 为EditBox控件添加列表选择框  cc实例049 多彩边框的编辑框  cc实例050 改变编辑框文本颜色  2.3 ListBox控件典型实例  cc实例051 利用ListBox控件实现标签式数据选择  cc实例052 在ListBox控件间实现数据交换  cc实例053 列表项的提示条  2.4 ComboBox控件典型实例  cc实例 054 将数据表中的字段添加到ComboBox控件  cc实例055 带查询功能的ComboBox控件  cc实例056 自动调整组合框的宽度  cc实例057 颜色组合框  cc实例058 多列显示的组合框  2.5 ListControl控件典型实例  cc实例059 将数据库中的数据表添加到ListControl控件  cc实例060 利用ListControl控件浏览数据  cc实例061 利用ListControl控件制作导航界面  cc实例062 在列表视图中拖动视图项  cc实例063 利用列标题对列表视图进行数据排序  cc实例064 具有文本录入功能的 ListControl控件  2.6 TreeControl控件典型实例  cc实例065 多级数据库树状结构数据显示  cc实例066 可动态修改节点的树状结构  cc实例067 带复选功能的树状结构  cc实例068 显示磁盘目录  cc实例069 树型提示框  2.7  RichEdit控件典型实例  cc实例070 利用RichEdit显示Word文档  cc实例071 利用RichEdit控件实现文字定位与标识  cc实例072 利用RichEdit控件显示图文数据  2.8 图形类控件典型实例  cc实例073 图文数据录入  cc实例074 带有滚动条的图形控件  2.9 滚动条控件典型实例  cc实例075 自定义滚动条控件  2.10 控件
含本书教程PDF 共399个实例: 第1章 窗体与界面设计   1.1 菜单应用实例   cc实例001 在系统菜单中添加菜单项   cc实例002 带图标程序菜单   cc实例003 根据表中数据动态生成菜单   cc实例004 浮动的菜单   1.2 弹出菜单应用实例   cc实例005 在控件上单击右键弹出菜单   cc实例006 个性化的弹出菜单   cc实例007 任务栏托盘弹出菜单   1.3 工具栏应用实例   cc实例008 带背景的工具栏   cc实例009 带图标的工具栏   cc实例010 带下拉菜单的工具栏   cc实例011 可调整按钮位置的工具栏   cc实例012 浮动工具栏   cc实例013 根据表中数据动态生成工具栏   cc实例014 具有提示功能的工具栏   1.4 状态栏应用实例   cc实例015 带进度条的状态栏   cc实例016 动画效果的状态栏   cc实例017 滚动字幕的状态栏   1.5 导航界面应用实例   cc实例018 Outlook导航界面   cc实例019 树状导航界面   cc实例020 按钮导航界面   cc实例021 类QQ导航菜单   1.6 界面窗体应用实例   cc实例022 背景为渐变色的程序界面   cc实例023 椭圆形的程序界面   cc实例024 自绘窗体界面   cc实例025 类似WindowscXP的程序界面   cc实例026 窗体融合技术   cc实例027 限制对话框最大时的窗口大小   1.7 多媒体宣传光盘应用实例   cc实例028 多媒体宣传光盘主界面   cc实例029 自动运行的多媒体宣传光盘   1.8 多媒体触摸屏程序应用实例   cc实例030 采购中心多媒体触摸屏程序   cc实例031 为触摸屏程序添加虚拟键盘   1.9 窗体位置应用实例   cc实例032 不可移动的窗体   cc实例033 始终在最上面的窗体   cc实例034 动画显示窗体   cc实例035 以时钟显示界面窗体   1.10 窗体标题栏应用实例   cc实例036 闪烁的窗体标题栏   cc实例037 拖动没有标题栏的窗体   cc实例038 禁用标题栏上的最大化.c最小化或关闭按钮   1.11 窗体形状及应用   cc实例039 半透明窗体   cc实例040 创建字型窗体   cc实例041 百叶窗窗体   cc实例042 类似Office助手  第2章 控件应用   2.1 按钮控件典型实例   cc实例043 AVI动画按钮   cc实例044 GIF动画按钮   cc实例045 图文按钮   cc实例046 不规则按钮   2.2 EditBox控件典型实例   cc实例047 为EditBox设置新的系统菜单   cc实例048 为EditBox控件添加列表选择框   cc实例049 多彩边框的编辑框   cc实例050 改变编辑框文本颜色   2.3 ListBox控件典型实例   cc实例051 利用ListBox控件实现标签式数据选择   cc实例052 在ListBox控件间实现数据交换   cc实例053 列表项的提示条   2.4 ComboBox控件典型实例   cc实例054 将数据表中的字段添加到ComboBox控件   cc实例055 带查询功能的ComboBox控件   cc实例056 自动调整组合框的宽度   cc实例057 颜色组合框   cc实例058 多列显示的组合框   2.5 ListControl控件典型实例   cc实例059 将数据库中的数据表添加到ListControl控件   cc实例060 利用ListControl控件浏览数据   cc实例061 利用ListControl控件制作导航界面   cc实例062 在列表视图中拖动视图项   cc实例063 利用列标题对列表视图进行数据排序   cc实例064 具有文本录入功能的ListControl控件   2.6 TreeControl控件典型实例   cc实例065 多级数据库树状结构数据显示   cc实例066 可动态修改节点的树状结构   cc实例067 带复选功能的树状结构   cc实例068 显示磁盘目录   cc实例069 树型提示框   2.7 RichEdit控件典型实例   cc实例070 利用RichEdit显示Word文档   cc实例071 利用RichEdit控件实现文字定位与标识   cc实例072 利用RichEdit控件显示图文数据   2.8 图形类控件典型实例   cc实例073 图文数据录入   cc实例074 带有滚动条的图形控件   2.9 滚动条控件典型实例   cc实例075 自定义滚动条控件   2.10 控件数组典型实例   cc实例076 向窗体中动态添加控件  cc 实例077 公交线路模拟  第3章 图形技术   3.1 绘制图形   cc实例078 绘制正弦曲线   cc实例079 绘制艺术图案   cc实例080 画图程序   cc实例081 绘制立体模型   cc实例082 利用IFS算法绘制自然景物   3.2 图像预览   cc实例083 图片自动预览程序   cc实例084 图片批量浏览   cc实例085 浏览大幅BMP图片   cc实例086 放大和缩小图片   cc实例087 可随鼠标移动的图形   cc实例088 随图像大小变换的图像浏览器   3.3 图片效果   cc实例089 图片马赛克效果   cc实例090 图片百叶窗效果   cc实例091 电影胶片特效   cc实例092 翻转图片效果   3.4 图片颜色转换   cc实例093 图像的锐化处理   cc实例094 图片反色处理   cc实例095 图像的灰度化转换   cc实例096 显示JPG图片   3.5 图形转换与缩放   cc实例097 将位图转换为JPG   cc实例098 将位图转为GIF图标   cc实例099 图片的平滑缩放   3.6 图像的剪切与合成   cc实例100 图像的剪切   cc实例101 图像的合成  3.7 图像识别   cc实例102 获取鼠标任意位置的颜色值   cc实例103 提取图片中的对象   cc实例104 手写数字识别   3.8 图像字体  cc 实例105 旋转的文字   cc实例106 当前系统字体列表   cc实例107 空心文字   cc实例108 如何在图片上平滑移动文字   3.9 图像管理   cc实例109 管理计算机内图片文件的程序   cc实例110 提取并保存应用程序图标   3.10 图片动画   cc实例111 利用图片制作屏幕保护程序   cc实例112 图片动画   3.11 简单游戏设计   cc实例113 拼图游戏   cc实例114 网络五子棋   cc实例115 彩票抽奖机   3.12 OpenGL程序设计   cc实例116 制作OpenGL动画   cc实例117 利用OpenGL绘制立体模型   cc实例118 利用OpenGL绘制NURBS曲线  第4章 多媒体技术   4.1 动画   cc实例119 利用Image控件制作小动画   cc实例120 透明的Flash动画   cc实例121 播放GIF动画   cc实例122 播放AVI动画   cc实例123 播放VCD   4.2 制作与播放音频   cc实例124 可以选择播放曲目的CD播放器   cc实例125 MP3播放器   cc实例126 声音录制与播放   cc实例127 制作RealOne播放器   4.3 多媒体控制   cc实例128 部队早起军号程序   cc实例129 利用PC喇叭播放声音   cc实例130 c控制左右声道   4.4 屏幕保护相关程序   cc实例131 电子相册屏幕保护程序   cc实例132 产品宣传屏幕保护程序   4.5 DirectShow程序设计   cc实例133 音频捕捉   cc实例134 视频捕捉  第5章 文件系统   5.1 文件的基本操作   cc实例135 创建和删除文件夹   cc实例136 把文件删除到回收站中   cc实例137 清空回收站   5.2 查找文件   cc实例138 搜索文件   cc实例139 检查文件是否存在   cc实例140 提取指定文件夹目录到INI文件   5.3 与文件目录相关的命令操作   cc实例141 删除文件目录   cc实例142 重命名文件目录   5.4 文件.c文件夹的复制和移动   cc实例143 批量移动文件   cc实例144 网络文件夹复制   cc实例145 文件复制过程中显示进度条   5.5 文件修改   cc实例146 更改文件夹图标   cc实例147 批量删除指定类型的文件   cc实例148 批量重命名文件   cc实例149 修改文件属性   cc实例150 修改文件及目录的名称   5.6 文件的读取与保存   cc实例151 顺序读取文件   cc实例152 制作日志文件   5.7 文件管理   cc实例153 分类整理磁盘文件   cc实例154 计算机磁盘空间报警程序   cc实例155 批量改变指定文件的属性   5.8 加密与解密   cc实例156 文件的加密与解密   cc实例157 文件夹加密   5.9 其他文件管理知识   cc实例158 文件分割器   cc实例159 帮助文件   cc实例160 用WinRar压缩和解压文件   cc实例161 判断文件是否被改动   第6章 操作系统与Windows相关程序   6.1 启动相关设置   cc实例162 进入WindowscXP前发出警告   cc实例163 实现关机.c重启计算机   cc实例164 将程序设置成为开机自动执行的程序   6.2 磁盘相关设置   cc实例165 判断驱动器属性   cc实例166 获取磁盘空间信息   cc实例167 获取磁盘序列号   cc实例168 取消磁盘共享   cc实例169 格式化磁盘   6.3 桌面相关设置   cc实例170 隐藏.c显示“开始”按钮   cc实例171 隐藏.c显示桌面文件   cc实例172 隐藏.c显示Windows任务栏   6.4 系统相关设置   cc实例173 获得Windows和System的路径   cc实例174 控制光驱的弹开与关闭   cc实例175 启动控制面板   cc实例176 为程序添加快捷键   6.5 系统监控   cc实例177 检测系统启动模式   cc实例178 内存使用状态   cc实例179 监视剪贴板内容   cc实例180 利用钩子技术实现键盘监控   6.6 程序相关设置   cc实例181 用列表显示系统正在运行的程序   cc实例182 为程序添加快捷方式   cc实例183 设置其他程序中编辑框内的文本   cc实例184 执行一个外部程序直到其结束   cc实例185 调用具有参数的可执行程序   6.7 线程同步   cc实例186 利用事件对象实现线程同步   cc实例187 利用互斥对象实现线程同步   cc实例188 利用临界区实现线程同步   cc实例189 用信号量实现线程同步   cc实例190 多线程cc实例   6.8 鼠标.c键盘相关设置   cc实例191 动画鼠标   cc实例192 限制鼠标移动区域  第7章 注册表   7.1 显示与隐藏  cc 实例193 隐藏.c显示“我的电脑”.c“回收站”.c“网上邻居”   cc实例194 隐藏.c显示驱动器   7.2 IE设置   cc实例195 修改IE标题栏内容   cc实例196 隐藏IE浏览器的右键关联菜单   cc实例197 设置IE的默认主页   cc实例198 清空上网历史记录   7.3 文件控制   cc实例199 如何建立文件关联   cc实例200 控制光驱的自动运行功能   7.4 游戏设置   cc实例201 设置“蜘蛛纸牌”游戏   cc实例202 修改“扫雷”游戏的设置   7.5 应用软件设置   cc实例203 设置Wordc2000文档及图片的保存路径   cc实例204 更改Photoshop安装时的登记信息  第8章 数据库技术   8.1 连接数据库   cc实例205 使用ODBCcDSN连接SQLcServer数据库   cc实例206 用ADO动态连接数据库   cc实例207c连接Oracle数据库   8.2 添加数据   cc实例208 利用INSERT语句批量插入数据   cc实例209 利用SELECTcINTO生成临时表   8.3 更新数据   cc实例210 批量修改数据   cc实例211 将指定字段数据为空的记录添上数据   8.4 删除数据   cc实例212 删除单条数据   cc实例213 删除数据库中无用处的记录   8.5 视图   cc实例214 动态创建视图   cc实例215 通过视图更改数据   cc实例216 删除视图   8.6 触发器   cc实例217 创建触发器   cc实例218 在程序中使用触发器   8.7 存储过程   cc实例219 创建存储过程   cc实例220 删除存储过程   cc实例221 在程序中使用存储过程   cc实例222 调用具有输出参数的存储过程   8.8 数据库结构的读取与修改   cc实例223 读取Access数据库结构   cc实例224 读取SQLcServer数据库结构   8.9 图片.c多媒体数据录入技术   cc实例225 对Access数据库进行录入和提取图片   cc实例226 对SQLServer数据库进行录入和提取多媒体文件   cc实例227 对SQLcServer数据库进行录入和存储Word文档   8.10 数据备份恢复   cc实例228 Access数据库备份与还原   cc实例229 SQLcServer数据库备份与恢复   cc实例230 定时数据备份   8.11 其他数据库技术    实例231 断开SQLcServer数据库与其他应用程序的连接   cc实例232 在VisualcC++中执行事务   cc实例233 在程序中执行SQL脚本   cc实例234 利用SQL语句执行外围命令  第9章 SQL查询相关技术   9.1 通用查询   cc实例235 SQL语句的应用方法   cc实例236 SQL语句的模糊查询   cc实例237 利用查询语句复制表结构   9.2 查询控件   cc实例238 查询指定控件内字符串   cc实例239 查询日期控件内数据   cc实例240 控件作为字段.c操作符和内容进行查询   cc实例241 巧妙获取年龄   cc实例242 格式化金额   cc实例243 如何随机显示记录   9.3 查询前若干名数据   cc实例244 查询前10名数据   cc实例245 取出数据统计结果前3名数据   9.4 周期.c日期查询   cc实例246 查询指定日期的数据   cc实例247 查询指定时间段的数据   cc实例248 按月查询数据   9.5 大小比较.c逻辑查询.c重复记录查询   cc实例249 查询数据大于指定条件的数据   cc实例250 NOT与谓词进行组合条件的查询   cc实例251 查询时不显示重复记录   9.6 排序.c分组统计   cc实例252 对数据进行降序查询   cc实例253 对数据进行多条件排序   cc实例254 按仓库分组统计图书库存(多列)   cc实例255 多表分组统计   9.7 HAVING语句应用   cc实例256 利用HAVING语句过滤分组数据   cc实例257 将HAVING语句应用在多表查询中   9.8 聚集函数   cc实例258 利用聚集函数SUM对销售额进行汇总   cc实例259 利用聚集函数AVG求某班学生的平均年龄   cc实例260 利用聚集函数COUNT求日销售额大于某值的商品数   9.9 多表查询   cc实例261 利用FROM子句进行多表查询   cc实例262 合并多个结果集   9.10 嵌套查询   cc实例263 简单嵌套查询   cc实例264 复杂嵌套查询   9.11 子查询   cc实例265 用子查询作派生的表   cc实例266 把子查询作为表达式   cc实例267 在UPDATE语句中应用子查询   9.12 联合语句UNION   cc实例268 使用联合查询   cc实例269 多表联合查询   cc实例270 对联合查询后的结果进行排序   9.13 内连接查询   cc实例271 简单内连接查询   cc实例272 复杂内连接查询   cc实例273 使用内连接选择一个表与另一个表中行相关的所有行   9.14 外连接查询   cc实例274 LEFTcOUTERcJOIN查询   cc实例275 RIGHTcOUTERcJOIN查询   cc实例276 使用外连接进行多表联合查询   9.15 利用IN进行查询   cc实例277 使用IN引入子查询限定查询范围   cc实例278 用IN查询表中的记录信息   9.16 交叉表查询   cc实例279 利用TRANSFORM分析数据   cc实例280 利用TRANSFORM动态分析数据   cc实例281 静态交叉表(SQLcServerc2000)   cc实例282 动态交叉表(SQLcServerc2000)   9.17 函数查询   cc实例283 在查询语句中使用字符串函数   cc实例284 在查询中使用日期函数   cc实例285 在查询时为表中的空字段添加默认信息  第10章 打印与报表技术   10.1 基础报表打印   cc实例286 基于文档/视图结构的打印   cc实例287 基于对话框结构的打印程序   10.2 打印窗体   cc实例288 打印对话框及其控件中的数据   cc实例289 打印对话框文本   10.3 打印图片   cc实例290 打印图片   cc实例291 打印简历   10.4 利用报表生成器设计报表   cc实例292 简单报表   cc实例293 分组统计报表   cc实例294 主明细报表   10.5 打印邮寄单   cc实例295 打印汇款单   cc实例296 打印信封标签   10.6 打印证件   cc实例297 批量打印工作证   cc实例298 批量打印证书   10.7 打印单据   cc实例299 库存盘点单打印   cc实例300 连续纸销售单打印   cc实例301 发票打印   10.8 打印条形码和标签   cc实例302 批量打印条形码   cc实例303 打印连续号码的标签   10.9 其他格式报表打印   cc实例304 将DataGrid表格中的查询结果输出到Excel中   cc实例305 利用Word打印   cc实例306 利用Excel打印   10.10 控制打印   cc实例307 打印超长字符串自动换行   cc实例308 批量打印文档   cc实例309 实现横向打印   cc实例310 设置打印纸大小   cc实例311 获取打印纸的左边距和上边距   10.11 打印预览   cc实例312 修改文档/视图结构默认的打印预栏工具栏   cc实例313 自定义具有滚动条的打印预览窗口  第11章 图表技术   11.1 简单图表   cc实例314 利用图表分析产品价格行情   cc实例315 对图表数据进行打印   11.2 柱形图表   cc实例316 将汇总数据利用图表分析   cc实例317 对比数据分析   11.3 饼形图表   cc实例318 饼形图分析公司男女比例   cc实例319 商品日销售额图表分析  第12章 硬件相关开发技术   12.1 串口控制   cc实例320 通过串口传递数据   cc实例321 通过串口控制对方计算机关闭   12.2 加密狗   cc实例322 将密码写入加密狗   cc实例323 使用加密狗进行身份验证   12.3 IC卡的应用   cc实例324 向IC卡中写入数据   cc实例325 读取IC卡中的数据   cc实例326 利用IC卡制作考勤程序   12.4 监控   cc实例327 利用简易摄像头编写监控程序   cc实例328 编写监控录像程序   cc实例329 定时监控程序   cc实例330 医疗行业数字视频监控系统   cc实例331 远程视频监控系统   12.5 扫描.c条形码.cPOS控制   cc实例332 利用条形码扫描器销售商品   cc实例333 设计钱箱控制程序   cc实例334 设计扫描仪控制程序   cc实例335 设计发票机控制程序   12.6 语音卡控制   cc实例336 语音卡电话呼叫系统   cc实例337 语音卡实现来电显示   cc实例338 利用语音卡实现电话录音   cc实例339 利用语音卡实现点歌祝福   12.7 手机程序的开发   cc实例340 利用短信猫发送短信   cc实例341 利用短信远程关闭计算机   12.8 其他程序   cc实例342 利用神龙卡制作练歌房程序  第13章 网络开发技术   13.1 获取计算机信息   cc实例343 获取计算机名称和工作组  cc 实例344 通过计算机名获取IP地址   cc实例345 获取本机MAC地址   cc实例346 获得系统打开的端口和状态   13.2 局域网控制与管理   cc实例347 获取局域网中的计算机名称和IP地址   cc实例348 远程控制局域网中的计算机   13.3 局域网资源管理   cc实例349 局域网屏幕监控   cc实例350 提取局域网信息到数据库   13.4 网上资源共享   cc实例351 获得网上共享资源   cc实例352 映射网络驱动器   cc实例353 定时网络共享控制   13.5 网络连接与通信   cc实例354 编程实现ping操作   cc实例355 网络语音电话   cc实例356 网络流量监控   cc实例357 取得Modem的状态   cc实例358 检测TCP/IP是否安装   cc实例359 实现进程间的通信   cc实例360 利用内存映射实现进程间的通信   13.6 局域网应用   cc实例361 局域网聊天程序   cc实例362 网上调查   13.7 其他   cc实例363 获得拨号网络的列表   cc实例364 获取计算机上串口的数量   cc实例365 检测系统中安装的协议   cc实例366 域名解析  第14章 Web编程   14.1 上网控制   cc实例367 定时登录Internet   cc实例368 根据网络连接控制IE启动   14.2 文件上传与下载   cc实例369 FTP文件上传程序   cc实例370 利用VisualcC++实现软件下载   cc实例371 HTTP服务器多线程文件下载   14.3 邮件管理   cc实例372 邮件接收程序  cc 实例373 发送电子邮件附件   14.4 上网监控   cc实例374 监控上网过程   cc实例375 网络监听工具   14.5 浏览器应用   cc实例376 制作自己的网络浏览软件   cc实例377 XML数据库文档的浏览   14.6 网上信息提取   cc实例378 定时提取网页源码   cc实例379 网上天气预报   cc实例380 网页链接提取器   14.7 其他   cc实例381 利用TAPI实现网络拨号  第15章 加密.c安全与软件注册   15.1 数据加密与解密   cc实例382 数据加密技术   cc实例383 文本文件的加密与解密  cc 实例384 利用图片加密文件   15.2 Access数据库安全   cc实例385 编程修复Access数据库   cc实例386 对数据库中的表锁定和解锁   cc实例387 改变Accessc2000数据库头文件来加密数据库   15.3 软件注册与加密   cc实例388 利用INI文件对软件进行注册   cc实例389 利用注册表设计软件注册程序   cc实例390 利用网卡序列号设计软件注册程序   cc实例391 根据CPU序列号和磁盘序列号设计软件注册程序   15.4 计算机安全   cc实例392 设置计算机的安全等级  第16章 实用工具   16.1 数据库工具   cc实例393 自动配置ODBC的程序   cc实例394 制作SQLcServer提取器   cc实例395 自动附加SQLcServer数据库   16.2 个人工具   cc实例396 个人通讯录   cc实例397 电子名片盒   16.3 单位应用   cc实例398 局域网投票管理   cc实例399 加班网上管理 

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧