Articles of 窗口

获取.net应用程序的活动窗口

我有一个名为ProLaunch.exe的应用程序。 如果用户在指定的时间段内没有执行任何操作,我想获得活动窗口并closures它。 应用程序中的计时器将用于此目的。 我怎样才能得到活动窗口,并closures它?

使用Windows复制对话框进行复制

我目前使用shutil.copy2()来复制大量的图像文件和文件夹(0.5至5演出之间的任何地方)。 Shutil工作正常,但速度很慢。 我想知道是否有一种方法可以将这个信息传递给Windows来制作副本,并给我它的标准传输对话框。 你知道,这个人… 很多时候,我的脚本需要大约两倍于标准windows副本的时间,这让我感到紧张,我的Python解释器在运行副本时挂起。 我多次运行复制过程,我正在寻求缩短时间。

SQL到outfile – 文件存储在哪里? (MySQL,Windows)

我正在使用MySQL,并希望以下查询的结果存储在本地机器上的csv文件中: SELECT * INTO OUTFILE 'mysqlresults.csv' FIELDS TERMINATED BY ','OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table; 我search了文件,它不能位于磁盘上的任何位置,因此它不在“数据”目录中。

是否有一个简单的Bugzilla / Trac客户端供非软件人员使用?

我意识到这不完全是一个编程问题,但它直接影响我们的开发人员和我们分配编写的代码。 如果还有另外一个类似SO的论坛,可以更好地发布,请告诉我,我将从这里提出问题并发布到那里。 我们的工作环境是几个开发人员为工厂生产场地和testing工作人员创build(20-30%)和维护(大部分份额)传统软件,以校准或testing公司销售的设备。 我们已经实现了一个非常简单的基于Google表单的错误报告页面,但是我们已经遇到了一些规模问题(大约40:1:我们和许多我们没有写的老旧的bug软件)。 在我到达之前,公司已经尝试过使用Bugzilla,但是工厂人员显然被它吓倒了,并且不会使用它。 但是,他们似乎喜欢简单的Google表单和类似向导的步骤来提交错误或请求function。 目前,我们正在从Google表单电子表格中手工剪切并粘贴错误/function请求到Trac中,并使用磁性错误卡手动跟踪白板上的错误/function请求。 这个系统只有几个星期的时间,它已经显示出它的脆弱性和缺乏可扩展性。 理想情况下,我们有一个Windows> = XP的Web或桌面客户端,可以提供: 简化的错误报告,类似向导的方法似乎运作良好 可定制我们的软件包(如每个下拉菜单) Bugzilla或Trac集成 标准错误跟踪function开发人员和pipe理人员可以使 我发现了“ Make Bugzilla Pretty ”比赛的优胜者,但是来自纯粹的软件公司,我们刚刚使用了直接的Bugzilla,我不清楚如何configuration和安装这些皮肤。 显然我可以搞清楚,但是如果不能解决我们的基本问题,那就是非技术性人员报告错误,就不想走这条路。 在Bugzilla维基网站上find的TaskCompiler看起来像是一个候选人,因为它与Bugzilla&Trac都在谈论,但是他们的销售页面是离线的,自2012年以来该网站并没有更新,我不确定它们的可行性。 我敢肯定,我们不是第一个遇到这样的问题的生产设施,我正在寻求帮助解决我们的可扩展性和易用性问题的build议。 我想到的另一个想法是一个GAS脚本,将我们目前基于Google表单的错误报告推送到Trac或Bugzilla。 编辑: Bugzilla / Trac之间的决定似乎是为我们做的。 我正在探索在这里使用Trac的选项,如果你想跟随。

有些使用WSASend的OVERLAPS没有及时使用GetQueuedCompletionStatus返回?

背景:我正在使用CreateIoCompletionPort,WSASend / Recv和GetQueuedCompletionStatus在我的服务器上执行重叠套接字io。 对于stream量控制,当发送给客户端时,只有当所有挂起的OVERLAPspopupIOCP时才允许调用几个WSASend()。 问题:最近,OVERLAPs没有返回到IOCP时出现了occassions。 调用GetQueuedCompletionStatus的线程不会获取它们,它们将保留在我的本地待定队列中。 我已经validation客户端接收到的数据从套接字和套接字连接。 调用WSASend()时,不会返回任何错误。 没有像以下这样的外部刺激,OVERLAPs只是“永不”回来: 断开与客户端或服务器的套接字,立即允许GetQueuedCompletionStatus线程检索OVERLAPs 在所有OVERLAPs突然从队列中popup之前,对WSASend()进行额外的调用,有时需要几个。 问:有没有人看过这种types的行为? 任何想法是什么造成这个? 谢谢,杰弗里

读取一个Windows * .dmp文件

我想知道是否有人知道如何在应用程序崩溃后编写C / C ++打开一个Windows * .dmp文件。

不能加载这样的文件 – ruby​​-wmi(LoadError)&不能加载这样的文件 – win32 / service(LoadError)

我没有安装下面提到的ruby的东西 当我尝试执行厨师客户,我收到下面提到的错误 c:\RubyDevKit>chef-client C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file — ruby-wmi (LoadError) from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef/provider/env/windows.rb:20:in `<top (required)>' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef/providers.rb:49:in `<top (required)>' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef.rb:25:in `<top (required)>' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/bin/chef-client:23:in `<top (required)>' from C:/Ruby193/bin/chef-client:23:in `load' from C:/Ruby193/bin/chef-client:23:in `<main>' […]

Windows控制台程序stdout在使用pipe道redirect时被缓冲

我有一个长期运行的服务器程序(比如程序A),它是用QT / c ++编写的。 该程序是不是很稳定,所以我决定写一个python脚本来重新启动它,如果它崩溃。 问题是程序可能开始失败(如果我给它一个使用中的端口),打印错误,然后挂在那里没有退出,所以我必须监视程序的标准输出,并在失败的启动时杀死它。 这是我的最终代码(呃,其实这是好的,你可以忽略它): self.subp = subprocess.Popen( r'.\A.exe -server %d' % portnum, stdout=subprocess.PIPE, bufsize=1) for line in iter(self.subp.stdout.readline, ''): print(line, end='') 但我发现我不能从subprocess的标准输出读取任何东西,readline方法只是阻止那里,如果我杀了一个进程,python脚本只是退出没有任何输出。 在一开始,我认为这是一个subprocess模块的问题,但经过一些testing,我发现它不是。 如果我用一些其他的Windows控制台程序replaceA.exe命令行,ping -t例如,一切工作正常。 所以我认为这可能是A程序的问题。 幸运的是,我有A的源代码,这里是一个输出处理: printf("Server is starting on port %u\n", Config.ServerPort); if(server->listen()) printf("Starting successfully\n"); else printf("Starting failed!\n"); 经过一些search,我添加fflush(stdout); 到这段代码的末尾,重build程序,现在它工作 所以我的问题是,我还是不明白,原来的A程序代码有什么问题? 不用强制刷新,它可以在程序启动后立即在Windows控制台中正确打印这些string。 为什么在输出上使用pipe道时输出缓冲? 我在标准c实现读取,输出将自动刷新换行,但为什么不在我的情况? 这是一个Windows的问题,或编译器的问题? A程序是用QT / C ++编译的,QT版本是4.7.4(x32),C ++编译器是用QT(GCC […]

在Windows WPF中垂直最大化

我正在WPF应用程序上工作,并在窗口周围添加了一个清晰的边框,以便可以从主窗口外部resize。 我已经覆盖了MINMAXINFO ,如下所示。 用下面的代码,当我做一个规则最大化你不能看到不可见的边框。 但是,当我尝试垂直最大化时(通过将窗口的顶部拖到屏幕的顶部),会显示不可见的边框。 我试图捕捉所有的消息,我找不到一个单独的消息垂直最大化。 如何删除这种情况下的不可见边框? private static void WmGetMinMaxInfo(System.IntPtr hwnd, System.IntPtr lParam) { MINMAXINFO mmi = (MINMAXINFO)Marshal.PtrToStructure(lParam, typeof(MINMAXINFO)); // Adjust the maximized size and position to fit the work area of the correct monitor int MONITOR_DEFAULTTONEAREST = 0x00000002; System.IntPtr monitor = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST); if (monitor != System.IntPtr.Zero) { MONITORINFO monitorInfo = new MONITORINFO(); […]

42传递给TerminateProcess,有时GetExitCodeProcess返回0

在得到由CreateProcess返回的句柄之后,我调用TerminateProcess,为进程退出代码传递42。 然后,我使用WaitForSingleObject来终止进程,最后我调用GetExitCodeProcess。 没有一个函数调用报告错误。 subprocess是一个无限循环,不会自行终止。 问题是,有时GetExitCodeProcess返回42退出代码(因为它应该),有时它返回0.任何想法为什么? #include <string> #include <sstream> #include <iostream> #include <assert.h> #include <windows.h> void check_call( bool result, char const * call ); #define CHECK_CALL(call) check_call(call,#call); int main( int argc, char const * argv[] ) { if( argc>1 ) { assert( !strcmp(argv[1],"inf") ); for(;;) { } } int err=0; for( int i=0; i!=200; ++i […]