Tag: 窗口

使用Process.spawn作为Process.fork的替代品

我的开发环境是运行ruby 1.9.3p125(RubyInstaller)和rails 3.2.8的Windows机器。 在使用第三方gem时,一次又一次出现的问题是缺lessWindows上的fork()。 这最近阻碍了我使用几乎任何运行gem的分布式testing(就像这些 ),因为它们依赖于fork。 一些StackOverflow的老问题试图find解决这个问题的方法,但是在将Process.spawn添加到ruby之前,或者是由于其他原因而被迫使用旧版本的Ruby的人。 提议的解决scheme之一是使用Cygwin获得fork()支持,这是完全没有问题的 – 我想我宁愿在这之前完全切换到Linux。 另一个build议的解决scheme是使用win32-process gem来获得fork()支持。 从最新的版本(0.7.0)中删除叉支持,并使用下一个最早的版本(0.6.6),它支持(叉)支持叉似乎没有工作,至less运行任何分布式testing我尝试过的gem(Spork,并行testing,Hydra,Specjour,几乎所有的)。 有趣的是,gem的作者在自述中提到Process.spawn是Process.fork的一个可以接受的解决方法。 我已经看到很多信息,或者暗示,或者直接声明 ,在Windows上,使用Ruby 1.9,派生可以用作fork的替代品。 我已经花了相当多的时间玩这个,基本上试图用几个引用的gem中的Process.spawn代替Process.fork,但没有成功。 在我看来,也许行为是相似的,但不完全一样。 例如,不清楚spawn实际上是以fork的相同方式复制整个过程,还是仅仅使用提供的参数创build一个新的过程。 也不清楚spawn方法是否接受另一个ruby方法作为参数,或者只接受一个系统命令。 文件似乎意味着它只是一个命令,但似乎是一种方法(sorting),但我可能做的不正确。 我认为对于某些事情来说,fork只是用来创build一个“便宜的线程”,在以前的ruby版本中不支持线程。 然而,似乎这些分布式testing的gem可能合法地依赖于fork()的全部function,以保持项目状态,并且不会为每个testing加载整个ruby环境。 这是在我的正常编程职责和经验之外,所以我可能会做出一些不正确的假设。 所以,我的问题是,在所有情况下,Process.spawn是否可以相对简单地使用以达到与Process.fork相同的结果? 我开始怀疑不是,但是如果是这样的话,有人可以举一个例子来说明如何去做这个转变吗?

在Windows上设置Python不要在cmd中键入python

我如何configuration,以便我不必在Windows上inputpython script.py而只需在CMD中inputpython script.py ? 我将我的python目录添加到包含python.exe的%PATH%中,但仍然无法正确运行脚本。 我试过用django-admin.py运行django-admin.py startproject mysite给我inputType 'django-admin.py help <subcommand>' for help on a specific subcommand. 在它前面使用python正确处理命令。 这里有什么问题?

从Win XP以编程方式从C#中注销用户

如何启动Windows XP用户从C#应用程序注销? 我的应用程序的行动应该产生相同的结果,点击XP开始菜单中的“注销” – 如果系统要求确认,这是没有问题的。 是否有.Net或一个非托pipeAPI?

使用python检测鼠标在窗口中的点击

无论鼠标在哪个窗口中,我如何检测鼠标点击? 在python perferabliy,但如果有人可以用任何语言解释它,我可能会弄清楚。 我在微软的网站上发现这个: http : //msdn.microsoft.com/en-us/library/ms645533(VS.85).aspx 但是我不知道如何检测或提取列出的通知。 尝试使用pygame的pygame.mouse.get_pos()函数,如下所示: import pygame pygame.init() while True: print pygame.mouse.get_pos() 这只是返回0,0。 我不熟悉pygame,是缺less的东西? 在任何情况下,我宁愿一个方法,而不需要安装第三方模块。 (除了pywin32 http://sourceforge.net/projects/pywin32/ )

JavaScript window.open只有当窗口不存在时

我有一个应用程序,点击一个链接打开一个新的窗口。 这产生了一个包含Java小程序的页面。 我遇到的问题是单击相同的链接重新加载页面,这将重置Java应用程序。 有什么办法来捕捉这个? 两个可以接受的解决scheme是: 允许从点击处理程序打开多个窗口 如果窗口已经打开,则忽略后续请求 作为一个Javascript新手道歉 – 这不是我的主要事情。 附加到处理程序的代码是 function launchApplication(l_url, l_windowName) { var l_width = screen.availWidth; var l_height = screen.availHeight; var l_params = 'status=1' + ',resizable=1' + ',scrollbars=1' + ',width=' + l_width + ',height=' + l_height + ',left=0' + ',top=0'; winRef = window.open(l_url, l_windowName, l_params); winRef.moveTo(0,0); winRef.resizeTo(l_width, l_height); } 编辑: 感谢您的答复 – […]

Windowsbatch file循环通过目录处理文件?

好吧,我是一名PHP程序员,不幸的是,由于我不会公布简短的原因,我需要编写/使用batch file,为我处理一些图像。 我有一个文件夹充满了嵌套的文件夹,每个这些嵌套的文件夹里面还有一个包含多个TIF图像的文件夹,每个文件夹中的图像数量各不相同。 我也有一个batch file,让我们称之为ProcessImages.bat为Windows,你可以“放”这些TIF文件(或显然在调用蝙蝠时在命令行列表中指定它们); 在此基础上创build一个新的文件夹与我所有的image processing基于我有一个EXE。 好处是,因为bat文件使用了从“drop”到它的文件夹的path,所以我可以select一个文件夹的所有TIF并放下它来完成处理…但是当我继续手动执行此操作我有300多个TIF文件夹,我发现它让我的系统变得如此令人难以置信,如果我只能一次处理这些文件(不需要手工操作),那将是美好的。 所有这些说…有人可以指向我的方向正确的方向(对于Windows蝙蝠文件AMATEUR)以一种方式我可以写一个Windows bat脚本,我可以从一个目录中调用,并通过所有目录该目录…并在每一组图像上运行我的处理batch file? 提前致谢! 泰勒

使用C#检索系统正常运行时间

有一个简单的方法来获得系统的正常运行时间使用C#?

WPF无边界窗口的DropShadow

我有一个WindowStyle设置为无的WPF窗口。 有什么办法可以强制这个窗口放下阴影(就像WindowStyle不是没有的时候那样)? 我不想将AllowTransparency设置为true,因为它会影响性能。 而且我也不想禁用硬件渲染(我在某处阅读透明性能更好,禁用它)。

在.NET / C#中testing进程是否具有pipe理权限

有没有规范的方法来testing,以查看过程是否在计算机上具有pipe理权限? 我将要开始一个漫长的运行过程,在这个过程的很长一段时间里,它将尝试一些需要pipe理员权限的事情。 如果stream程拥有这些权利,而不是以后,我希望能够事先进行testing。

编程方式鼠标在另一个窗口中单击

是否可以通过编程方式在另一个窗口中单击某个位置,而无需将鼠标移动到该位置,即使窗口不在顶部? 我想发送一种消息到另一个窗口模拟鼠标点击一个位置。 我试图用PostMessage完成这个工作: PostMessage(WindowHandle, 0x201, IntPtr.Zero, CreateLParam(300,300)); PostMessage(WindowHandle, 0x202, IntPtr.Zero, CreateLParam(300,300)); 我这样做了CreateLParam函数: private static IntPtr CreateLParam(int LoWord, int HiWord) { return (IntPtr)((HiWord << 16) | (LoWord & 0xffff)); } 问题是窗口被locking在他的位置上。 我认为我的应用程序点击(1,1)坐标。 可以帮助我解决这个问题吗? 编辑:这是PostMessage: [return: MarshalAs(UnmanagedType.Bool)] [DllImport("user32.dll")] public static extern bool PostMessage(IntPtr WindowHandle, int Msg, IntPtr wParam, IntPtr lParam); 而0x201和0x202分别是WM_LBUTTONDOWN和WM_LBUTTONUP。