如何让程序不在任务栏中显示但在ctrl+tab中显示出来

eileendl 2004-08-27 11:14:29
我编了一个程序,我只让他显示在任务托盘中,而不显示在任务栏中。
我想在使用ctrl+tab键时能切换到我的程序,请问如何实现。
...全文
501 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
eileendl 2004-09-08
  • 打赏
  • 举报
回复
呵呵,真没注意到原来我写错了,不好意思,误导大家了

DemonLoveLizzy(魑魅魍魉)的方法很好用,结帖了:)
dongge2000 2004-09-06
  • 打赏
  • 举报
回复
UP
DragonFly_1976 2004-09-06
  • 打赏
  • 举报
回复
看看我的帖子,解决后你的问题自然就解决了。
DemonLoveLizzy 2004-09-05
  • 打赏
  • 举报
回复
呵呵,看来粗心也有好处。我一直以为他说的是ALT+TAB。
rainstormmaster 2004-09-05
  • 打赏
  • 举报
回复
晕死,什么ctrl+tab?我说我怎么没理解你的意思,原来是alt+tab
eileendl 2004-09-05
  • 打赏
  • 举报
回复
我明天试试,好用就结帖!谢谢!
DemonLoveLizzy 2004-09-04
  • 打赏
  • 举报
回复
当然SetWindowLong Me.hwnd, -20, GetWindowLong(Me.hwnd, -20) Xor &H30000也是可以的了。不过以后就看不懂了。我常犯这毛病。
DemonLoveLizzy 2004-09-04
  • 打赏
  • 举报
回复
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

'下为窗体扩展样式
Private Const WS_EX_APPWINDOW = &H40000
Private Const WS_EX_CONTROLPARENT = &H10000

Private Sub Form_Load()

SetWindowLong Me.hwnd, -20, GetWindowLong(Me.hwnd, -20) Xor WS_EX_APPWINDOW Or WS_EX_CONTROLPARENT '-20为窗体扩展样式。

End Sub

WS_EX_APPWINDOW是在任务栏不显示。WS_EX_CONTROLPARENT是在任务列表显示。
DemonLoveLizzy 2004-09-04
  • 打赏
  • 举报
回复
对。调整日期的可以。我研究一下。呵呵
eileendl 2004-09-04
  • 打赏
  • 举报
回复
DemonLoveLizzy:我再验证了一下,msn的确不行。不过我确实见到过这种软件,GRE软件pp2review就有这种功能!而且windows调整日期时间的对话框也可以做到。
DragonFly_1976 2004-09-04
  • 打赏
  • 举报
回复
我正在解决这个问题,加我qq:17437490,一起进行讨论。
DemonLoveLizzy 2004-09-04
  • 打赏
  • 举报
回复
你弄错了吧。MSN在你用ALT+TAB可以看到的时候,它在任务栏有图标的。任务栏没图标的时候,你一样找不到它。
eileendl 2004-08-29
  • 打赏
  • 举报
回复
fishmans(金脚指) :我怎么不懂你的意思呢?在什么时候用showwindow,me.hwnd,false?
fishmans 2004-08-29
  • 打赏
  • 举报
回复
用showwindow,me.hwnd,false
试试,我用过好像设窗体不可见的话用ctrl+tab也看不到,
wzzwwz 2004-08-29
  • 打赏
  • 举报
回复
有点难度。
liul17 2004-08-28
  • 打赏
  • 举报
回复
将窗体标题隐藏即可
eileendl 2004-08-28
  • 打赏
  • 举报
回复
liul17(vb无极) ,wzzwwz(皮皮鲁): 我就是这么做的。
rainstormmaster(暴风雨 v2.0) :
我想你可能有些误解我的意思,我想做的是:
在使用ctrl+tab键的时候,我的程序能够和其他的windows任务栏中的程序一起
被调度,而不是单单把ctrl+tab这个热键归我的程序所有。

效果参见MSN,把它缩小到任务托盘后按ctrl+tab能看到。



wzzwwz 2004-08-28
  • 打赏
  • 举报
回复
窗体的ShowInTaskbar可以控制窗体是否在任务栏上显示。
rainstormmaster 2004-08-28
  • 打赏
  • 举报
回复
//我想在使用ctrl+tab键时能切换到我的程序,请问如何实现。

使用热键实现:
Option Explicit
Private Const VK_TAB = &H9
Private Const MOD_ALT = &H1
Private Const MOD_CONTROL = &H2
Private Const MOD_SHIFT = &H4
Private Const PM_REMOVE = &H1
Private Const WM_HOTKEY = &H312
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type Msg
hWnd As Long
Message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type



Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long
Private bCancel As Boolean
Private Sub ProcessMessages()
Dim Message As Msg
'loop until bCancel is set to True
Do While Not bCancel
'wait for a message
WaitMessage
'check if it's a HOTKEY-message
If PeekMessage(Message, Me.hWnd, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then
'minimize the form
Me.WindowState = 0
End If
DoEvents
Loop
End Sub

Private Sub Command1_Click()
Me.Caption = "test"
End Sub

Private Sub Form_Load()
Dim ret As Long
bCancel = False
ret = RegisterHotKey(Me.hWnd, &HBFFF&, MOD_CONTROL, VK_TAB)
Show
ProcessMessages
End Sub
Private Sub Form_Unload(Cancel As Integer)
bCancel = True
'unregister hotkey
Call UnregisterHotKey(Me.hWnd, &HBFFF&)
End Sub




rainstormmaster 2004-08-28
  • 打赏
  • 举报
回复
//我编了一个程序,我只让他显示在任务托盘中,而不显示在任务栏中。

这个容易,用api函数和控件实现都可以,可以参考:
http://www.yesky.com/20020106/212828.shtml
http://vbboshi.myrice.com/vbtech/activex/page_1/file29.htm

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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