请问如果隐藏任务栏上的东西 我再做一个软件,其中有一个功能是如何才能吧任务栏上的东西隐藏掉 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Main;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Commctrl;type TfrmMain = class(TForm) chk1: TCheckBox; chk2: TCheckBox; chk3: TCheckBox; chk4: TCheckBox; chk5: TCheckBox; chk6: TCheckBox; chk7: TCheckBox; Button1: TButton; Button2: TButton; Button3: TButton; procedure FormCreate(Sender: TObject); procedure CheckButtonClick(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } wnd: Integer; procedure SetDesktopIconColor(Forground, Background: TColor; Trans: Boolean); procedure SetDeskTopIconArr(iWidth,iHeight:Integer); procedure SetDefaultIconColors; public { Public declarations } end;Const //file://定义不同窗口的类名 sTrayWindow = 'Shell_TrayWnd'; sTrayNotify = 'TrayNotifyWnd'; sStartButton = 'Button'; sAppSwitchBar = 'ReBarWindow32'; sAppSwitch = 'MSTaskSwWClass'; sAppIcon = 'ToolbarWindow32'; sTrayClock = 'TrayClockWClass'; sDesktopIcon = 'ShellDll_DefView'; sProgman = 'Progman';var frmMain: TfrmMain;implementation{$R *.dfm}procedure TfrmMain.FormCreate(Sender: TObject);begin chk1.Caption := '隐藏任务栏'; chk1.OnClick := CheckButtonClick; chk2.Caption := '隐藏开始按钮'; chk2.OnClick := CheckButtonClick; chk3.Caption := '隐藏任务栏图标'; chk3.OnClick := CheckButtonClick; chk4.Caption := '隐藏程序按钮'; chk4.OnClick := CheckButtonClick; chk5.Caption := '隐藏任务栏时钟'; chk5.OnClick := CheckButtonClick; chk6.Caption := '隐藏桌面图标'; chk6.OnClick := CheckButtonClick; chk7.Caption := '隐藏快速运行图标'; chk7.OnClick := CheckButtonClick; Button1.Caption := '设置图标文本颜色'; Button2.Caption := '设置图标排列';end;procedure TfrmMain.CheckButtonClick(Sender: TObject);var i:Integer;begin //file://找到任务栏窗口的窗口句柄 wnd := FindWindow(sTrayWindow, nil); if (TCheckBox(Sender).Name)= 'chk2' then wnd := FindWindowEx(wnd, 0, sStartButton, nil); if (TCheckBox(Sender).Name)= 'chk3' then wnd := FindWindowEx(wnd, 0, sTrayNotify, nil); if (TCheckBox(Sender).Name)= 'chk4' then begin wnd := FindWindowEx(wnd, 0, sAppSwitchBar, nil); wnd := FindWindowEx(wnd, 0, sAppSwitch, nil); end; if (TCheckBox(Sender).Name)= 'chk5' then begin wnd := FindWindowEx(wnd, 0, sTrayNotify, nil); wnd := FindWindowEx(wnd, 0, sTrayClock, nil); end; if (TCheckBox(Sender).Name)= 'chk6' then begin wnd := FindWindow(sProgman, nil); wnd := FindWindowEx(wnd, 0, sDesktopIcon, nil); end; if (TCheckBox(Sender).Name)= 'chk7' then begin wnd := FindWindowEx(wnd, 0, sAppSwitchBar, nil); wnd := FindWindowEx(wnd, 0, sAppIcon, nil); end; if TCheckBox(Sender).Checked then begin ShowWindow (wnd, SW_HIDE); end Else begin ShowWindow (wnd, SW_SHOW); end;end;procedure TfrmMain.SetDesktopIconColor(Forground, Background: TColor; Trans: Boolean);var Window: HWND;begin Window := FindWindow('Progman', 'Program Manager'); //file://找到桌面窗口 Window := FindWindowEx(Window, HWND(nil), 'SHELLDLL_DefView', ''); //file://找到放置桌面图标的ListView窗口 Window := FindWindowEx(Window, HWND(nil), 'SysListView32', ''); if Trans then //file://设置透明的文字背景色 ListView_SetTextBkColor(Window, $ffffffff) // back color else //file://设置不透明的文字背景色 ListView_SetTextBkColor(Window, Background); // back color ListView_SetTextColor(Window, Forground); // foreground color //file://重新绘制桌面图标 ListView_RedrawItems(Window, 0, ListView_GetItemCount(Window) - 1); UpdateWindow(Window); //file://重新绘制窗口end;procedure TfrmMain.SetDeskTopIconArr(iWidth, iHeight: Integer);var Window: HWND; i,i1,i2,iCount:integer;begin Window := FindWindow('Progman', 'Program Manager'); Window := FindWindowEx(Window, HWND(nil), 'SHELLDLL_DefView', ''); Window := FindWindowEx(Window, HWND(nil), 'SysListView32', ''); //file://设置图标与边界的距离。 i1:=20;i2:=20; //file://获得桌面图标的个数 iCount:=ListView_GetItemCount(Window)-1; for i:=0 to iCount do begin //file://设置图标位置 ListView_SetItemPosition(Window,i,i1,i2); i1:=i1+iWidth; if i1>(Screen.Width-32) then begin i1:=20; i2:=i2+iHeight; end; end; ListView_RedrawItems(Window, 0, ListView_GetItemCount(Window) - 1); UpdateWindow(Window);end;procedure TfrmMain.SetDefaultIconColors;var Kind: Integer; Color: TColor;begin Kind := COLOR_DESKTOP; Color := GetSysColor(COLOR_DESKTOP); SetSysColors(1, Kind, Color);end;procedure TfrmMain.Button1Click(Sender: TObject);begin //file://你可以改变clWhite,clBlack为其它的颜色值看看 //file://图标文本颜色的变化 //这个好象没用啊!变不了的! SetDesktopIconColor(clBlue, clRed, True);end;procedure TfrmMain.Button2Click(Sender: TObject);begin //file://设置图标的间距为100个像素 //不用,我的桌面图标好难排的。SetDeskTopIconArr(100,100);end;procedure TfrmMain.Button3Click(Sender: TObject);var Window: HWND;begin Window := FindWindow(sTrayWindow, nil); //Window := FindWindow('Progman', 'Program Manager'); UpdateWindow(Window); //file://重新绘制窗口end;end. 这个程序所能完成的功能有隐藏任务栏隐藏开始按钮隐藏任务栏图标隐藏程序按钮隐藏任务栏时钟隐藏桌面图标隐藏快速运行图标在Delphi6和Winxp下调试通过! 再问,那我如何才能知道任务栏上的程序的classname呢 procedure TForm1.Button1Click(Sender: TObject);begin ShowWindow(Application.Handle, SW_MINIMIZE);end; FindWindow 这个函数没有类名,怎么找窗体呢ShowWindow(Application.Handle, SW_MINIMIZE);这个执行的时候怎么是把窗体最小化了呢? 如何从进程的PID中得到该进程是否有连接到网络? 在Delphi中如何做Access数据库的备份??请高手帮忙一下. 提取汉字的音首字母? 请问关于:在panel上显示dll文件中 delphi如何连接sql server 数据库 大家碰到过这种问题么?自己写的东西安装到别人机器上经常出现未知软件异常之类的错误!郁闷~~ 如何修改DBGrid.Colums中的值 高分求通用的TStringGrid和TDbGrid的点击标头排序的过程。 函数的返回值能否是数据集类型? 如何给主关键字自动赋值? 关于 在dll中读写注册表内容 字符串转换的问题 !
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Commctrl;type
TfrmMain = class(TForm)
chk1: TCheckBox;
chk2: TCheckBox;
chk3: TCheckBox;
chk4: TCheckBox;
chk5: TCheckBox;
chk6: TCheckBox;
chk7: TCheckBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure CheckButtonClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
wnd: Integer;
procedure SetDesktopIconColor(Forground, Background: TColor; Trans: Boolean);
procedure SetDeskTopIconArr(iWidth,iHeight:Integer);
procedure SetDefaultIconColors;
public
{ Public declarations }
end;Const
//file://定义不同窗口的类名
sTrayWindow = 'Shell_TrayWnd';
sTrayNotify = 'TrayNotifyWnd';
sStartButton = 'Button';
sAppSwitchBar = 'ReBarWindow32';
sAppSwitch = 'MSTaskSwWClass';
sAppIcon = 'ToolbarWindow32';
sTrayClock = 'TrayClockWClass';
sDesktopIcon = 'ShellDll_DefView';
sProgman = 'Progman';var
frmMain: TfrmMain;implementation{$R *.dfm}procedure TfrmMain.FormCreate(Sender: TObject);
begin
chk1.Caption := '隐藏任务栏';
chk1.OnClick := CheckButtonClick;
chk2.Caption := '隐藏开始按钮';
chk2.OnClick := CheckButtonClick;
chk3.Caption := '隐藏任务栏图标';
chk3.OnClick := CheckButtonClick;
chk4.Caption := '隐藏程序按钮';
chk4.OnClick := CheckButtonClick;
chk5.Caption := '隐藏任务栏时钟';
chk5.OnClick := CheckButtonClick;
chk6.Caption := '隐藏桌面图标';
chk6.OnClick := CheckButtonClick;
chk7.Caption := '隐藏快速运行图标';
chk7.OnClick := CheckButtonClick; Button1.Caption := '设置图标文本颜色';
Button2.Caption := '设置图标排列';end;procedure TfrmMain.CheckButtonClick(Sender: TObject);
var
i:Integer;
begin
//file://找到任务栏窗口的窗口句柄
wnd := FindWindow(sTrayWindow, nil); if (TCheckBox(Sender).Name)= 'chk2' then
wnd := FindWindowEx(wnd, 0, sStartButton, nil); if (TCheckBox(Sender).Name)= 'chk3' then
wnd := FindWindowEx(wnd, 0, sTrayNotify, nil); if (TCheckBox(Sender).Name)= 'chk4' then begin
wnd := FindWindowEx(wnd, 0, sAppSwitchBar, nil);
wnd := FindWindowEx(wnd, 0, sAppSwitch, nil);
end; if (TCheckBox(Sender).Name)= 'chk5' then begin
wnd := FindWindowEx(wnd, 0, sTrayNotify, nil);
wnd := FindWindowEx(wnd, 0, sTrayClock, nil);
end; if (TCheckBox(Sender).Name)= 'chk6' then begin
wnd := FindWindow(sProgman, nil);
wnd := FindWindowEx(wnd, 0, sDesktopIcon, nil);
end; if (TCheckBox(Sender).Name)= 'chk7' then begin
wnd := FindWindowEx(wnd, 0, sAppSwitchBar, nil);
wnd := FindWindowEx(wnd, 0, sAppIcon, nil);
end; if TCheckBox(Sender).Checked then
begin
ShowWindow (wnd, SW_HIDE);
end
Else
begin
ShowWindow (wnd, SW_SHOW);
end;
end;procedure TfrmMain.SetDesktopIconColor(Forground, Background: TColor;
Trans: Boolean);
var
Window: HWND;
begin
Window := FindWindow('Progman', 'Program Manager');
//file://找到桌面窗口
Window := FindWindowEx(Window, HWND(nil), 'SHELLDLL_DefView', '');
//file://找到放置桌面图标的ListView窗口
Window := FindWindowEx(Window, HWND(nil), 'SysListView32', ''); if Trans then //file://设置透明的文字背景色
ListView_SetTextBkColor(Window, $ffffffff) // back color
else //file://设置不透明的文字背景色
ListView_SetTextBkColor(Window, Background); // back color ListView_SetTextColor(Window, Forground); // foreground color
//file://重新绘制桌面图标
ListView_RedrawItems(Window, 0, ListView_GetItemCount(Window) - 1);
UpdateWindow(Window); //file://重新绘制窗口
end;procedure TfrmMain.SetDeskTopIconArr(iWidth, iHeight: Integer);
var
Window: HWND;
i,i1,i2,iCount:integer;
begin
Window := FindWindow('Progman', 'Program Manager');
Window := FindWindowEx(Window, HWND(nil), 'SHELLDLL_DefView', '');
Window := FindWindowEx(Window, HWND(nil), 'SysListView32', ''); //file://设置图标与边界的距离。
i1:=20;i2:=20; //file://获得桌面图标的个数
iCount:=ListView_GetItemCount(Window)-1;
for i:=0 to iCount do begin
//file://设置图标位置
ListView_SetItemPosition(Window,i,i1,i2);
i1:=i1+iWidth;
if i1>(Screen.Width-32) then begin
i1:=20;
i2:=i2+iHeight;
end;
end;
ListView_RedrawItems(Window, 0, ListView_GetItemCount(Window) - 1);
UpdateWindow(Window);
end;procedure TfrmMain.SetDefaultIconColors;
var
Kind: Integer;
Color: TColor;
begin
Kind := COLOR_DESKTOP;
Color := GetSysColor(COLOR_DESKTOP);
SetSysColors(1, Kind, Color);
end;procedure TfrmMain.Button1Click(Sender: TObject);
begin
//file://你可以改变clWhite,clBlack为其它的颜色值看看
//file://图标文本颜色的变化
//这个好象没用啊!变不了的!
SetDesktopIconColor(clBlue, clRed, True);
end;procedure TfrmMain.Button2Click(Sender: TObject);
begin
//file://设置图标的间距为100个像素
//不用,我的桌面图标好难排的。SetDeskTopIconArr(100,100);
end;procedure TfrmMain.Button3Click(Sender: TObject);
var
Window: HWND;
begin
Window := FindWindow(sTrayWindow, nil);
//Window := FindWindow('Progman', 'Program Manager');
UpdateWindow(Window); //file://重新绘制窗口
end;end.
隐藏任务栏
隐藏开始按钮
隐藏任务栏图标
隐藏程序按钮
隐藏任务栏时钟
隐藏桌面图标
隐藏快速运行图标
在Delphi6和Winxp下调试通过!
begin
ShowWindow(Application.Handle, SW_MINIMIZE);
end;
ShowWindow(Application.Handle, SW_MINIMIZE);
这个执行的时候怎么是把窗体最小化了呢?