女朋友7月10日就生日了!我想做个屏保送给她,除了无法一直保持活动状态以外,其它的都完成了.哪位能帮我解决问题?
不是要窗口总在最前,窗口总在最前我已经做到,我是要一直保持活动状态.就是要窗口一直在当前,有其它程序弹出对话框或者窗口也不会抢走焦点.
我现在的屏保现在这样的问题,如果某些程序弹出对话框要我回答问题,我按Esc想退出屏保,却不是退出屏保,而是先退出那个对话框...因为弹出来的对话框得到了焦点了.
建议做个定时显示的花哨无边框窗体(做个动画),这样既不影响其他软件运行,也做到了惊喜。
屏保程序想完全截获按键消息,必须做个hook,无其他方法。
还有,既然是屏保,为何其他程序弹出对话框,屏保不消失?感觉lz做的并不是个真正的屏保程序。
先 sendmessage 把窗口标题栏修改为有焦点效果
再 attxxxthread 和前台窗口共享输入
定时器,间隔一会儿调用SetForegroundWindow(Me.Handle)。
或是DeActived事件中调用
Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Private Sub Form_Load()
Timer1.Interval = 10
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
End Sub