精华内容
下载资源
问答
  • 如何使python窗口作为“始终在最前面”运行?[更新 - 解决方案适用于Windows]可爱,我想我得到它的工作。我在Vista 64位版本的Eclipse中使用Python 2.5.4和Pygame 1.9.1。因此,这是Windows系统...

    我正在python中运行一个小程序,它启动一个小窗口,需要保留在所有其他窗口之上。我相信这是特定于操作系统的,GNU-Linux在GNOME中是如何完成的?如何使python窗口作为“始终在最前面”运行?

    [更新 - 解决方案适用于Windows]

    可爱,我想我得到它的工作。我在Vista 64位版本的Eclipse中使用Python 2.5.4和Pygame 1.9.1。因此,这是Windows系统。 SetWindowPos功能记录在Here。我将在我的解释中提到这一点。

    进口:

    from ctypes import windll

    然后我设置在USER32称之为 “SetWindowPos” 变量:

    SetWindowPos = windll.user32.SetWindowPos

    现在,让我们说,我只是做了一个窗口:

    screen = pygame.display.set_mode((100,100), pygame.NOFRAME)

    下一行是关键。这将窗口设置在其他窗口之上。

    SetWindowPos(pygame.display.get_wm_info()['window'], -1, x, y, 0, 0, 0x0001)

    基本上,你提供hWnd(窗口句柄)与ID从调用返回到display.get_wm_info()窗口。现在该函数可以编辑刚刚初始化的窗口。

    -1是我们的hWndInsertAfter。

    的MSDN网站说:

    一个窗口,可以制成一个顶层窗口或者通过设定hWndInsertAfter参数HWND_TOPMOST并确保SWP_NOZORDER标志没有设置,或在Z设置窗口的位置以便它位于任何现有的最顶层窗口之上。当一个非最顶层的窗口成为最顶层时,它拥有的窗口也成为顶层。但是,它的所有者没有改变。

    因此,-1确保窗口高于任何其他现有的最高层窗口,但这可能不适用于所有情况。也许-2击败-1?它目前适用于我。 :)

    x和y指定了正在设置的窗口的新坐标。我想让窗口保持当前位置,当调用SetWindowPos函数时。唉,我无法找到一种轻松将当前窗口(x,y)位置传递给函数的方法。我能够找到解决办法,但假设我不应该在这个问题中引入新的主题。

    0, 0,应该指定窗口的新宽度和高度,以像素为单位。那么,这个功能已经在你的pygame.display.set_mode()函数中,所以我把它们留在0处。0x0001忽略了这些参数。

    0x0001对应于SWP_NOSIZE,是我唯一的uFlag。提供的文档页面上列出了所有可用的uFlags。一些欧盟十六进制表示如下:

    SWP_NOSIZE = 0×0001

    SWP_NOMOVE = 0×0002

    SWP_NOZORDER = 0x0004

    SWP_NOREDRAW = 0×0008

    SWP_NOACTIVATE = 0×0010

    SWP_FRAMECHANGED = 0×0020

    SWP_SHOWWINDOW =即0x0040

    SWP_HIDEW INDOW = 0x0080 = 0100

    SWP_NOCOPYBITS = 0200

    SWP_NOOWNERZORDER =的0x0400

    SWP_NOSENDCHANGING

    这不应该是什么!希望对你有用!

    感谢约翰Popplewell到[email protected]对他的帮助。

    展开全文
  • WinForm 窗口保持在屏幕最前面

    千次阅读 2019-06-25 20:40:34
    WinForm(C#)开发,有多个窗口,遇到的情况是,打开...现在要实现的效果是,窗口A打开后,点A以外的区域时,A保持在所有窗口最前面,不隐藏。 网上查询一番,找到了比较简单的方法:设置窗体的TopMost属性为true. ...

    WinForm(C#)开发,有多个窗口,遇到的情况是,打开了窗口A,然后点A以外的其他地方,A就被最小化了。

    现在要实现的效果是,窗口A打开后,点A以外的区域时,A保持在所有窗口的最前面,不隐藏。

    网上查询一番,找到了比较简单的方法:设置窗体的TopMost属性为true.

    https://stackoverflow.com/questions/683330/how-to-make-a-window-always-stay-on-top-in-net

    这个方法对于一般情况有效。

    不过如果打开了A之后,在A基础上再打开B,那么即便B设置了TopMost=true, 点击B以外的地方,B还是会最小化。

    再次查询,这次找到了比较彻底的办法:

    在打开窗体是的时候,在窗体的  Form.Show()方法中,把父窗体 this 作为参数放进去:

    formTreatRecord = new FormTreatRecord();
    formTreatRecord.Show(this);
    formTreatRecord.Focus();

    实测有效,这个无论点击哪个区域,该窗体始终在最前面。

    C#和VB都有效。

    参考:https://stackoverflow.com/questions/29698453/how-to-keep-a-form-on-top-of-others-in-vb-net

    展开全文
  • 如何让窗口始终保持在最前面

    万次阅读 2009-01-09 10:51:00
    如何让窗口始终保持在最前面飘飘白云 20090110 问题:让目标窗口始终保持在最前面,无论这个窗口是模式的还是模式的。思路:取得当前最前面窗口的title,如果title不是与目标窗口的title不相同(说明目标窗口不是...

    如何让窗口始终保持在最前面

    飘飘白云 20090110

     

    问题:让目标窗口始终保持在最前面,无论这个窗口是模式的还是模式的。

    思路:取得当前最前面窗口的title,如果title不是与目标窗口的title不相同(说明目标窗口不是在最前面),枚举窗口,找到目标窗口,设置它为最前面。

     

    代码说话:

    1.         static wchar_t dstWndTitle[] = L"Test window";
    2.         // Get handle of top window.
    3.         HWND topHwnd = ::GetTopWindow(NULL);
    4.         wchar_t wcTitle[MAX_PATH];
    5.         if(topHwnd != NULL){
    6.             // Get title of top window.
    7.             BOOL failed = (::GetWindowText(topHwnd, wcTitle, MAX_PATH) == 0);
    8.             // Fail to get title of current top window or top window isn't target window.
    9.             if ( failed || wcscmp(wcTitle, dstWndTitle) != 0){
    10.                 // Set target window as top window.
    11.                 topHwnd = ::GetNextWindow(topHwnd, GW_HWNDNEXT);
    12.                 while (topHwnd != NULL){
    13.                     if(::GetWindowText(topHwnd, wcTitle, MAX_PATH) != 0){
    14.                         if (wcscmp(wcTitle, dstWndTitle) == 0){
    15.                             ::SetWindowPos(topHwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOMOVE | SWP_NOSIZE);
    16.                             break;
    17.                         }
    18.                     }
    19.                     topHwnd = ::GetNextWindow(topHwnd, GW_HWNDNEXT);
    20.                 }
    21.             }
    22.         }
    展开全文
  • 我有一个Tkinter窗口,我需要保持其他一切 – 包括全屏窗口.我尝试过的事情:mainloop之前的root.attributes(‘ – topmost’,True) – 不起作用类中的self.root.wm_attributes(“ – topmost”,True) – 不起作用...

    我有一个Tkinter窗口,我需要保持其他一切 – 包括全屏窗口.

    我尝试过的事情:

    mainloop之前的root.attributes(‘ – topmost’,True) – 不起作用

    类中的self.root.wm_attributes(“ – topmost”,True) – 不起作用

    mainloop之前的root.overrideredirect(True) – 仅适用于Linux

    mainloop之前的root.lift() – 不起作用

    最后,我设置root.lift()重复调用:

    class TestingGUI:

    def __init__(self, root):

    self.root = root

    self.EnsureTop()

    def EnsureTop(self):

    root.lift()

    root.after(5000, self.EnsureTop)`

    这是因为它成功地将窗口提升到我手动切换为“始终在顶部”的任何其他窗口上,例如使用例如Dexpot,但关键是它不适用于全屏应用程序.

    具体来说,我需要将它显示在游戏上,因为它是游戏中的音乐播放器.对于需要重复使用某些命令的解决方案,我很好,以确保窗口再次被调到顶部.

    展开全文
  • OPENFILENAME弹出的窗口如何设置为模态的,即始终保持在最前面,急!急求!谢谢,没有C币,可以加微信发红包
  • win32 设置窗口临时显示到最前面

    千次阅读 2019-10-14 15:40:51
    如何设置窗口临时显示到桌面最前面? 关键点:win32 api--AttachThreadInput,SetForegroundWindow 实现代码: void CMainFrame::BringMainwndToForeground() { //说明:SetForegroundWindowdebug模式一直...
  • 今天发现Chrome的窗口保持在最前面,本以为是自己不小心把“总在最前”的功能打开了呢。结果找了半天也没发现Chrome有这个设置,于是想到了可能是个bug。我上网搜了下,发现大家遇到了跟我一样的问题,而且有人也...
  • 让Excel窗口保持在所有窗口前面

    万次阅读 2016-09-05 14:40:35
    比如同时使用excel和混浏览器,这时候需要按照浏览器上的内容Excel中进行填写,需要来回切换界面复制粘贴,这里就教教大家,怎么不用这么麻烦的操作,一直把excel保持在窗口最前面,直接复制粘贴。
  • 保持页面窗口在最前面

    千次阅读 2011-03-16 11:30:00
    今天在写个页面弹出窗口的时候,需要使用struts中的action,本来想使用showModalDialog打开有模窗口保持窗口始终在最前面,发现,操作父窗口的window对象无法传递子页面进行操作,后来想用open打开操作,...
  • GetOpenFileName 弹出的窗口适中在最前面,要怎么设置
  • 有些软件,像KMPlayer,有设置在最前”的功能,方便用户对当前视窗进行固定,以免来回切换造成的麻烦。但是并不是所有软件都有在这个功能,比如说看文章或者开小窗口,需要这个功能。 下面这个小软件就横空出世了...
  • 在使用Excel办公时我们需要让Excel窗口总是显示在最前面而不被别的窗口挡住,虽然Excel并没有提供这样的功能,但可以用下面的方法: 在VBA中使用API函数“SetWindowPos”可以让Excel窗口在最前面。步骤如下: 1...
  • 为一个工具做个悬浮窗口,这个窗口用来做工具栏,要始终电脑的前面,好随时被我操控,进行工具继续/暂停的功能。 只需要一行代码就行了,说白了,就是一个参数。 Dialog.setWindowFlags(QtCore.Qt....
  • VC设置窗口全屏并且最前面显示
  • 保持窗口最前插件

    2016-01-06 13:21:18
    窗口最前端设置工具,能让选定的窗口将一直屏幕前端显示。 比如开一个浏览器窗口,看在线视频,设为前端,切换其他工作窗口时,不会挡住浏览器,或让QQ聊天窗口一直位于屏幕前端。
  • Unity窗口显示在最前面

    千次阅读 2019-09-27 09:16:20
    2、判断Unity程序窗口是否在最前面,如果不是,则将其显示在最前面 代码实现 using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using ...
  • 屏幕截图并以独立窗口显示在最前面,可用于文档对比查看,coding时参考别的代码,多窗口查看时不需要为了避免重叠分别缩小,减少频繁alt+tab切换。软件使用太简单了,一用即懂。
  • 将window.open打开的窗口保持在最前端

    千次阅读 2017-01-21 16:20:34
    实现将window.open打开的窗口像dialog一样放置在最前端,可直接在打开的窗口的body标签中设置窗口失去焦点的时候,让其重新获取焦点。 如果打开的窗口不需要支持拖动,可直接使用window.showModalDialog()。
  • 如何保持Excel窗口始终桌面上层?如何保持Excel窗口始终桌面上层?如何保持Excel窗口始终桌面上层?如何保持Excel窗口始终桌面上层?如何保持Excel窗口始终桌面上层?如何保持Excel窗口始终...
  • Winform中如何保持登录窗口在窗口前面,并且只有输入了正确的密码,才能切换掉主窗口
  • Qt如何保持窗口显示在最上面

    千次阅读 2020-12-17 18:09:01
    Qt如何保持窗口显示在最上面
  • 我设计了一个全屏显示的主窗口里面有一个按钮、现在我想通过按钮调出另外一个窗口,怎么设计?我那个按钮链接了一个槽,槽里面创建这个窗口可以吗?但是这样创建出来的窗口在窗口后面看不见啊!
  • hWndInsertAfter变元是窗口清单中hWnd窗口前面窗口句柄,有四个可选值: 序号 可 选 值 作 用 1 HWND_BOTTOM 把窗口放在窗口清单的底部 2 HWND_TOP 把窗口放在窗口清单的字符顺序的顶部 3 HWND_TOPMO
  • windows 10 窗口顶置工具,可以使你的指定窗口显示在最前面,喜欢的小伙伴可以试一试哦。。。。。
  • 使用快捷键:Alt+a 或者工具栏里有个 view—>Always on top前面的勾去掉就OK了
  • VC设置窗口在最

    千次阅读 2013-05-25 00:03:13
    // C++ ::SetWindowPos(this->GetSafeHwnd(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); // MFC(CWnd) this->SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,689
精华内容 40,675
关键字:

如何设置窗口保持在最前面