C# 在任务栏上加一个按钮之类的东西

zxvyio 2016-06-13 09:25:54
原贴在这 http://bbs.csdn.net/topics/390352810 里面有段 答案可惜不是 C#代码,C#菜鸟完全看不懂,请大家把它转成C#代码,谢谢:

procedure TForm1.Button1Click(Sender: TObject);
var
i:HWND;
cs:CREATESTRUCT;
begin
// i := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil);
i := FindWindow('Shell_TrayWnd', nil);//这里可以通过FindWindowEx找到开始按钮,并得到他的按钮区域( GetWindowRect ),并以此来指定新按钮的区域
cs.lpszClass:= 'Button';
cs.lpszName:= '我的按钮';
cs.style:= WS_CHILD or WS_VISIBLE or WS_BORDER;
cs.hMenu:= 0;
cs.hwndParent:= i;
cs.lpCreateParams:= nil;
cs.x:= 100;
cs.y:= 0;
cs.cx:= 20;
cs.cy:= 30;
cs.hInstance:= 0;
i := CreateWindow(cs.lpszClass,
cs.lpszName,
cs.style,
cs.x,
cs.y,
cs.cx,
cs.cy,
cs.hwndParent,
cs.hMenu,
cs.hInstance,
cs.lpCreateParams);
end;
...全文
291 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2016-06-19
  • 打赏
  • 举报
回复
这是delphi代码,不是vb的。
crystal_lz 2016-06-19
  • 打赏
  • 举报
回复
我并没有出现你说的情况
zxvyio 2016-06-19
  • 打赏
  • 举报
回复
引用 3 楼 crystal_lz 的回复:
你是说这样吗?。。
对的,就像360加在任务栏上的那个按钮,这个我己经实现了,还有个问题,如果点按钮要求弹出一个界面,那这个界面就只能在任务栏里显示,怎么才能使界面在任务栏之上显示,就像360那个那样(我现在的做法是,点按钮就把重新定位在屏暮上,再按就重新定位到任务栏上,这样来回换定位,觉的麻烦,有更好的辨法吗)
crystal_lz 2016-06-14
  • 打赏
  • 举报
回复

你是说这样吗?。。
john_QQ:2335298917 2016-06-14
  • 打赏
  • 举报
回复
这就是VB的代码,找到相应的窗口,并创建一个按钮,把按钮的父窗口设为找到的窗口
长空X 2016-06-14
  • 打赏
  • 举报
回复
这是VB的代码啊

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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