Articles of 窗口

以编程方式卸载应用程序

我已经使用下面的代码通过编程卸载我的C#应用​​程序。 string[] arguments = Environment.GetCommandLineArgs(); foreach (string argument in arguments) { if (argument.Split('=')[0].ToLower() == "/u") { string guid = argument.Split('=')[1]; string path = Environment.GetFolderPath(Environment.SpecialFolder.System); ProcessStartInfo si = new ProcessStartInfo(path + "/msiexec.exe", "/x " + guid); Process.Start(si); Application.Exit(); } } 上面的代码工作正常,卸载我的软件正确。 但我的要求是,我怎样才能得到那个unistallation确认框的“是”button点击事件。

C#事件处理程序触发多次,但需要在10秒内处理一次

我有一个条件,我是否有倾听事件的听众。 试图做下面的事情,事件处理程序可能会收到多个事件,但是我需要将它们合并为一个,并触发一次。 private static void QueueRequestChanged() { // This may get 1 or 10 events here. // want to keep wait for 10 seconds. // trigger one event to handle it further } 我正在努力做到这一点,以避免死锁的情况。 任何关于方法的build议都会有所帮助。 谢谢。

Cmake无法findBoost

我试图做PCL的例子项目。 在这里我用cmake来build立。 但cmake提供了一个错误如下 Could NOT find Boost CMake Error at C:/Program Files/PCL 1.5.1/cmake/PCLConfig.cmake:38 (message): common is required but boost was not found Call Stack (most recent call first): C:/Program Files/PCL 1.5.1/cmake/PCLConfig.cmake:346 (pcl_report_not_found) C:/Program Files/PCL 1.5.1/cmake/PCLConfig.cmake:491 (find_external_library) CMakeLists.txt:5 (find_package) 我有升压在C:\ Program Files \ PCL 1.5.1 \ 3rdParty \ Boost ,因为cmake找不到默认位置,我认为它可能会引发错误。 为了摆脱我添加的错误 SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "C:/Program Files/PCL 1.5.1/3rdParty/Boost/include") […]

KDB:select某些事件的“周围”时间的数据

考虑一个庞大的市场数据表格。我对状态= SSS的行特别感兴趣。 但是,除了(从Tselectwhere Status =`SSS)给出的行之外,我还希望select紧接在这些行之前和之后的10条logging。 (请注意,在某些情况下,这些间隔可能会重叠)。 什么是有效的方法来做到这一点? 请注意,我尝试了下面这样的东西,它几乎崩溃了我的端口,占用了所有的内存。 select from update diff:min each abs i-(count i)# enlist (exec distinct x from select from (update x:i from T) where Status=`SSS),where diff<10

将数组拆分为C / C ++中的块

我正在寻找一种方法来将数组拆分成C / C ++中的多个数组,具有标准的Win32和C / C ++函数。 这里是一个例子,我如何读取一个文件到数组中。 using namespace std; LPSTR File_To_Read = "FILE.exe"; DWORD File_To_Read_Size = NULL; DWORD inputSize = NULL; PBYTE inputData = NULL; ifstream input(File_To_Read, ifstream::binary | ifstream::ate); File_To_Read_Size = static_cast<DWORD>(input.tellg()); input.seekg(input.beg); inputData = new BYTE[File_To_Read_Size]; input.read(reinterpret_cast<char*>(inputData), File_To_Read_Size); input.close(); 现在我想要像这样分割inputData。 DWORD inputSize_part1; DWORD inputSize_part2; DWORD inputSize_part3; PBYTE inputData_part1; PBYTE inputData_part2; PBYTE […]

如何将结构保存在内存中C

C中的结构如何保存在内存中? 为什么有时候内存中的结构长度比预期的大?

Python,获取当前login用户的Windows特殊文件夹

我如何从我的Python脚本中获取Windows文件夹,如My Documents,Desktop等? 我需要win32扩展吗? 它必须在Windows 2000到Windows 7上工作。

Python – Windowsclosures事件

当使用win32api.setConsoleCtrlHandler(),我能够从Windows接收关机/注销/等事件,并干净地closures我的应用程序。 但是,这只适用于在python.exe下运行应用程序(即它有一个控制台窗口),但不能在pythonw.exe(无控制台窗口)下运行。 当没有控制台,也没有窗口可以接收这些事件时,Windows中是否有等价的方法来接收这些事件? 或者,有没有一种编程方式来隐藏控制台窗口? 要清楚 – 我的目标是能够成功地接收Windows关机/注销/等事件,而无需任何forms的控制台窗口显示。 编辑:我一直在玩,我已经进一步了。 我为此写了一段testing代码。 当我做一个“taskkill / im pythonw.exe” – 它会收到消息。 但是,当我在Windows上执行关机,重新启动或注销时,我没有收到任何消息。 这是整个事情: """ Testing Windows shutdown events """ import win32con import win32api import win32gui import sys import time #import os def log_info(msg): """ Prints """ print msg f = open("c:\\test.log", "a") f.write(msg + "\n") f.close() def wndproc(hwnd, msg, wparam, lparam): […]

我如何得到实际的监视器名称? 如parsing对话框中所示

我试图抓住我的系统上显示器的友好名称。 我正在使用C#。 我试过Screen ,只是给了我//./DisplayXX 。 我也尝试了Win32_DesktopMonitor和EnumDisplayDevices ,他们都给了我//./DisplayXX或Generic Monitor变体,而我知道我的显示名称是SyncMaster和SM2333T 。 现在Windows知道这些显示器是什么,使用正确的名称将它们显示在“ 设备和打印机”窗口中,还可以在对话框中设置位置和分辨率。 我可以从哪里获得这些名字? 我看了registry,不能find他们,所以任何帮助将是伟大的。 解决scheme:我遇到的问题是第二次调用EnumDisplayDevices时,我再次将iDevNum设置为id,这意味着我试图从错误的地方获取数据,然后用0代替它,它完美地工作,请参阅下面的码。 var device = new DISPLAY_DEVICE(); device.cb = Marshal.SizeOf(device); try { for (uint id = 0; EnumDisplayDevices(null, id, ref device, 0); id++) { Console.WriteLine(String.Format("{0}, {1}, {2}, {3}, {4}, {5}", id, device.DeviceName, device.DeviceString, device.StateFlags, device.DeviceID, device.DeviceKey)); Console.WriteLine(); device.cb = Marshal.SizeOf(device); EnumDisplayDevices(device.DeviceName, 0, ref […]

执行后与程序交互

在PyCharm中,我运行脚本后自动杀死它: C:\ Users \ Sean.virtualenvs \ Stanley \ Scripts \ python.exe C:/Users/Sean/PycharmProjects/Stanley/Stanley.py 进程使用退出码0结束 启动后如何与脚本进行交互? 由于缺乏一个更好的方式来expression它,我怎么能得到的 >>> 脚本运行一次后提示? PyCharm社区版3.0 Windows 7的 Python 2.7