草庐IT

可见光定位

全部标签

c++ - Windows 7(或更高版本)中事件可见 HWND 的数量是否会显着影响性能?

诚然,这个问题含糊不清,但我正在努力避免陷入设计困境。我听说在一个应用程序中创建数百个按钮和其他控件的性能不如我自己编写无窗口控件并自行处理鼠标单击/移动/跟踪/捕获逻辑。我只想说我的偏好是使用基于HWND的控件,因为我不必重新发明轮子,但如果应用程序变得无法使用则不需要。 最佳答案 根据我对HWND密集型应用程序的体验,我认为您不会遇到严重的一般性能问题。但是,如果您疯狂地创建O/S窗口,则需要确保您没有超过每个进程和每个session的句柄限制(whichdefaultto10,000foraprocessand32,768fo

c# - 如何确定另一个应用程序的窗口是否可见?

我最近获得了WinXDVDRipperPlatinum的许可,令我恼火的是,当它完成DVD的翻录后,它并没有告诉我。没有弹出窗口,没有系统“哔哔”声——什么都没有。进度对话框简单地关闭。主窗口甚至不关注自己......为了加快我的DVD翻录过程,我正在制作一个简单的控制台应用程序(使用C#和VS2010):找到名为“WinX_DVD_Ripper_Platinum”的进程句柄(WinXDVDRipperPlatinum软件的进程名称)使用thissampleatpinvoke.net中定义的GetChildWindows方法找到该进程的进度对话框句柄启动一个System.Timers.

c++ - 带有 Aero 主题(阴影)的窗口定位 - 0,0 处的窗口隐藏了一些边框

我在0,0打开一个窗口。当Aero和窗口阴影被禁用时,这工作得很好。如果启用了窗口阴影,则窗口的部分边框(和标题)会隐藏在桌面左边缘的上/左上方。有没有办法检测阴影是否打开以及我需要调整窗口位置多少像素?我已经尝试了几乎所有GetSystemMetrics()可用的方法,但没有一个有意义。 最佳答案 Aero位于窗口位置。这是一个重型应用程序兼容功能,窗口边框在很长一段时间内都具有相同的宽度。这是不可持续的,在Vista时代,不要将窗口边框设置为一个像素宽变得越来越重要。显示器技术不断发展,拥有1600x900分辨率的显示器(我的笔

c# - win10 wpf窗口定位bug

我在Windows10的窗口定位中遇到了一个错误(?)。我已经在WPF中复制了这个。假设我创建了一个这样的窗口:vard=newWindow();d.Width=100;d.Height=100;d.Left=1000;d.Top=100;d.WindowStyle=WindowStyle.None;d.ResizeMode=ResizeMode.NoResize;d.Show();我的分辨率是1920x1080,所以我希望窗口的左侧在1000px处位于中心的右侧(就像在Windows8中一样),但事实并非如此。通过测试(通过悬停鼠标和抓取鼠标坐标,以及使用PointToScreen进

windows - PE文件格式中的基址重定位表是什么?

我在分析一个可执行文件的格式时,在image_optional_header中找到了Baserelocationtable,这个baserelocationtable是什么? 最佳答案 重定位表是一个查找表,它列出了当文件加载到非默认基地址时需要修补的PE文件的所有部分。这是PE文件的微软规范:https://github.com/tpn/pdfs/blob/master/Microsoft%20Portable%20Executable%20and%20Common%20Object%20File%20Format%20Speci

java - Windows 命令行上基于 Eclipse 的应用程序的输出仅在通过管道传输时可见(而不是直接在 cmd 中)

我们有一个基于Eclipse的Java应用程序(主类实现IApplication),它是从Windows命令行启动的。它在System.out上的输出不可见/打印到启动它的命令窗口中。然而,当将输出通过管道传输到more时,输出没有问题。怎么会?例如,考虑helloworld.exe。在命令窗口中运行C:\>helloworld.exe时,应用程序只会返回。但是当运行C:\>helloworld.exe|更多,屏幕显示C:>helloworld.exe|morehelloworldC:>在linux上,输出很好。如何在Windows上也看到输出?一些要求的信息:应用程序非常大。我可能无

c - COMSPEC 和 PATH 环境变量应该是什么来定位命令解释器,使用 system()?

操作系统(XP)环境变量是否与从visualstudio.NETC++运行的进程中使用的相同?似乎没有找到命令解释器:当使用NULL作为命令时,system()returns0并使用命令-ENOENTCommandinterpretercannotbefound。在windows中(系统->环境变量),COMSPEC包含cmd.exe的路径路径没有。PATH应该是什么?除此之外,不知道为什么找不到解释器。如有任何建议,我们将不胜感激。谢谢。if(system("tail-500log.txt")==-1){//Errorcallingtail.exeonlog//errnoisasys

c# - 单击 NotifyIcon 切换表单可见性并在其他地方单击时隐藏它

我有一个应用程序在系统托盘中。我想让它在用户点击notifyIcon时可见,如果它还不可见的话。如果它已经可见,则应将其隐藏。此外,当用户单击除表单之外的任何其他地方时,表单应该隐藏(如果它可见)。我的代码是这样的:protectedoverridevoidOnDeactivated(EventArgse){showForm(false);}publicvoidshowForm(boolshow){if(show){Show();Activate();WindowState=FormWindowState.Normal;}else{Hide();WindowState=FormWind

c++ - 如何检测自动隐藏的任务栏是否可见?

目前我需要在C++/Qt中检测设置为“自动隐藏”的任务栏是否在屏幕上可见。我已经尝试过以下解决方案,不幸的是没有成功:使用uState=(UINT)SHAppBarMessage(ABM_GETSTATE,pabd)检查自动隐藏状态,这只返回是否设置了自动隐藏属性使用SystemParametersInfo(SPI_GETWORKAREA,0,&rectWorkArea,0)获取工作区;不幸的是,当任务栏设置为“自动隐藏”时,工作区始终是整个屏幕的大小,即使它实际上在屏幕上可见使用SHAppBarMessage(ABM_GETTASKBARPOS,&abd)获取AppBarData;通

c++ - PostMessage 能否使工作线程中的变量更改在 GetMessage 之后在 UI 线程中可见?

我的问题实际上是,如果我在另一个线程中写一个变量,然后PostMessage到一个Wnd,UI线程中的GetMessage是否会与它同步,我可以安全地读取变量?背景是:我想使用PostMessage从后台线程更新UI,并且担心数据争用。我需要其他同步实用程序吗?谢谢。编辑:标题很乱,改一下。具体案例:假设我想更新一个std::string,它是一个全局变量。由于我在PostMessage之前更新了string,我可以在处理该消息的WindowProc中安全地读取string吗?我熟悉C++11多线程术语,例如happens-before、sequence-before、synchron