Articles of 窗口

在C#和Python之间命名pipe道

我试图在两个程序(Python中的一个和C#中的另一个)之间创build一个双向通信通道。 当我在两个C#程序或两个Python程序之间创build命名pipe道时,一切正常,但是当我尝试(例如)从Python代码连接到C#服务器时,它不起作用: C#代码: NamedPipeServerStream server = new NamedPipeServerStream( "Demo", PipeDirection.InOut, 100, PipeTransmissionMode.Byte, PipeOptions.None, 4096, 4096) 如果我在Python中使用win32pipe , ConnectNamedPipe上的代码块(它永远不会返回) p = win32pipe.CreateNamedPipe( r'\\.\pipe\Demo', win32pipe.PIPE_ACCESS_DUPLEX, win32pipe.PIPE_TYPE_BYTE | win32pipe.PIPE_WAIT, 1, 65536, 65536, 300, None) win32pipe.ConnectNamedPipe(p) 如果我使用打开的function,它只是build立一个连接,但没有发生: open( '\\\\.\\pipe\\Demo', 'r+b' ) 现在,如果我closures了Python程序,C#服务器只接收到一个来自Python的数据项,并且System.IO.IOException引发了“Pipe is broken”消息 我做错了什么?

计算Windows进程的CPU使用率?

给定一个进程ID,我怎样才能从这个进程的C#加载CPU的负载? 我已经尝试使用PerformanceCounter在c#中所述计算特定应用程序的CPU使用率 我还尝试在一个时间范围内手动取得进程的总CPU时间的两个值,并将delta-cpu-time与delta-total-time分开。 这两种方法似乎一开始工作正常,但如果我把我的应用程序旁边的Windows任务pipe理器我的应用程序总是显示约两倍的任务pipe理器。 我试图用10ms到10sec的各种时间步长进行更新,并一直得到相同的结果。 嗯,当我写这个时,意识到这可能是某种双核问题。

如何解决在Windows上使用iPython Notebook的pandas导入错误?

我正在尝试使用iPython导入pandas。 我的总体目标是使用XLwings。 我在Windows 7上,并使用Anaconda来安装Python,pandas和所有的依赖项。 这是我的代码: from pandas import DataFrame 这使: ImportError Traceback (most recent call last) <ipython-input-7-26dfcabfb474> in <module>() —-> 1 from pandas import DataFrame C:\Users\Accounting\Anaconda\lib\site-packages\pandas\__init__.py in <module>() 11 "pandas from the source directory, you may need to run " 12 "'python setup.py build_ext –inplace' to build the C " —> 13 "extensions first.".format(module)) 14 […]

错误在Windows上安装“kgio-2.9.2”Gem

在Windows上安装kgio gem时遇到问题 使用Ruby 2.1.6 32位和DevKit安装。 Installing kgio 2.9.2 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. C:/Ruby21/bin/ruby.exe extconf.rb checking for CLOCK_MONOTONIC in time.h… yes checking for clockid_t in time.h… yes checking for clock_gettime() in -lrt… no checking for t_open() in -lnsl… no checking for socket() in -lsocket… no checking for poll() in […]

replace当前Windows用户与另一个用户运行EXE

说如果我build立一个Windows应用程序,从networking文件夹中读取文件。 networking折叠限制只有一个用户“fooUser”的访问。 该应用程序安装在networking上的多台机器上。 我需要用“fooUser”replace当前用户,以便能够通过代码访问networking文件夹中的文件。

VS刚build好之后,“xxx.exe不是有效的Win32应用程序”

我已经在Windows-7-64 PC上成功开发了Visual Studio 2015(使用IDE)的WinAPI应用程序。 我通常在发行模式下testing程序。 然后我做了一些编辑来源。 该程序编译和链接没有错误,但程序并没有像我预期的那样,所以我切换到debugging模式,并试图build立和运行。 再次VS编译和链接没有错误,但后来抱怨 “无法启动程序”f:\ dropbox \ blah \ x64 \ Debug \ xxx.exe'。“f:\ dropbox \ blah \ x64 \ Debug \ xxx.exe”不是有效的Win32应用程序“。 我觉得这很奇怪,所以我又回到发布模式,再次尝试 – 程序开始正常。 我做了一些编辑,并重build了几次,但后来VS宣布 “无法启动程序”f:\ dropbox \ blah \ x64 \ Release \ xxx.exe“。”f:\ dropbox \ blah \ x64 \ Release \ xxx.exe“不是有效的Win32应用程序。 我试图干净的一切,重新启动VS,甚至重新启动我的电脑..但都无济于事,我仍然得到完全相同的错误。 编辑:在阅读了类似的报告后,我试着暂停Dropbox同步。 它似乎工作,但只有一次或两次,然后问题返回。 然后,我尝试closures多处理器编译,这似乎已经允许我的程序的版本再次运行。 自从编辑器重新编译运行了许多(50+?)次,没有任何问题 […]

如果使用C#运行,如何closuresWindows屏幕保护程序?

好吧,所以我find了一些代码来检查屏幕保护程序是否正在运行,如果我想杀死它。 这似乎不适用于Windows 7电脑。 有谁知道这个代码可以被修改,或提供新的代码来完成这个? 我的应用程序devise为在后台运行,直到发生特定事件,然后创build并显示全屏通知。 即使屏幕保护程序正在运行,也需要显示此信息。 在此先感谢您的帮助。

pyHook停止接收按键事件(随机)?

我有一个程序,捕捉所有按键使用pyHook,然后运行一些function。 我注意到,经过一段时间(随机时间),程序停止接收关键触发器,即使我按键? pyHook不稳定? 我没有改变什么键被按下或过早按下或类似的东西。 这是我的代码: import time import win32api import win32con import pythoncom import pyHook import os import ctypes def Click(x,y): win32api.SetCursorPos((x,y)) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0) def DeleteRun(event): if event.Ascii == 96: BreakHook() return False Click(1250, 741) time.sleep(0.2) Click(649,261) time.sleep(0.2) Click(651, 348) time.sleep(0.2) Click(800, 442) time.sleep(0.2) Click(865, 612) time.sleep(0.2) Click(25, 744) time.sleep(3) Click(25, 744) time.sleep(1.5) Click(1112,297) Click(145,392) […]

LoadImage()返回NULL,GetLastError()返回0

我一直在不同的论坛上寻找答案,但似乎没有匹配我的情况… 我正在使用Windows 7,VS2010。 我有一个应用程序使用计时器来调用任务栏刷新function。 在任务栏function中,调用LoadImage()从资源文件中获取图标图像,最终到达任务pipe理器(带有shell_notifyicon)。 在运行应用程序时,这似乎在最初几个小时内工作正常,但是突然之间LoadImage()开始失败(它总是尝试加载的.ico文件)并返回NULL。 我已经插入一个GetLastError调用,但它总是返回0(表示成功)。 形象本身还是好的,有效的,我没办法解释。 任何线索? 任何帮助非常感谢! 这是一个代码片段: if (ghInst && hwnd) { DWORD err; // Update Tray Icon Here small_icon=LoadImage(ghInst, MAKEINTRESOURCE(IconId), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0); err = GetLastError(); if (!small_icon) { LPVOID lpMsgBuf; //DWORD err = GetLastError(); FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL ); […]

尝试打开显示设备句柄以使用C ++在Windows XP上更改亮度

我正在尝试编写一个C ++ / WinAPI代码来改变显示器亮度。 代码必须与Windows XP兼容,所以我不能使用像SetMonitorBrightness这样的API。 所以我想尝试IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS,但我似乎甚至得不到设备句柄。 HANDLE hDevice = ::CreateFile(_T("\\\\.\\LCD"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if(hDevice != INVALID_HANDLE_VALUE) { //Do work here ::CloseHandle(hDevice); } else { nOSErr = ::GetLastError(); //Get code 2 } 我尝试了GENERIC_READ,GENERIC_WRITE和FILE_SHARE_READ,FILE_SHARE_WRITE标志的各种组合,但是当调用CreateFile时,我总是得到错误代码2。 那么我在这里做错了什么?