Tag: winapi

是否有一个Windows相当于HANDLE的fdopen?

在Unix中,如果你有一个文件描述符(例如从一个套接字,pipe道或从你的父进程inheritance),你可以用fdopen(3)打开一个缓冲的I / O FILE*stream。 在Windows上是否有相同的HANDLE ? 如果你有一个从你的父进程(与stdin,stdout或stderr不同)inheritance的HANDLE或CreatePipe一个pipe道,是否有可能从它获得缓冲的FILE*stream? MSDN不logging_fdopen ,但是与_open返回的整型文件描述符一起使用,而不是genericsHANDLE 。

我如何摆脱Python的Tkinter根窗口?

你知道一个聪明的方式来隐藏或以任何其他方式摆脱出现的Tk()打开的根窗口? 我只想使用一个正常的对话框。 我应该跳过对话框并把所有的组件放在根窗口中吗? 这是可能的还是可取的? 还是有更聪明的解决scheme?

主要function中的“WINAPI”是什么意思?

你可以向我解释WinMain()函数中的WINAPI单词吗? 最简单的方法 #include <windows.h> int –>WINAPI<– WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox(NULL, "Goodbye, cruel world!", "Note", MB_OK); return 0; } 这只是一些Windows时髦的模式? 它有什么作用? 或者说,我还没有遇到过这个C ++特性呢?

从服务启动用户会话中的进程

在Windows Vista / 7/2008 / 2008R2中,是否可以通过服务在用户会话中启动进程? 具体来说,本地会话将是最有用的。 我一直在读的东西似乎是说这是不可能的,但我想我会在完全放弃之前问这里。 我在VB.NET编码,但会采取任何build议。

在Java Swing中,如何获得Win32窗口句柄(hwnd)引用到窗口?

在Java 1.4中,你可以使用((SunToolkit)Toolkit.getDefaultToolkit())。getNativeWindowHandleFromComponent(),但是被删除了。 它看起来像你现在必须使用JNI来做到这一点。 你有JNI代码和示例Java代码来做到这一点? 我需要这个来调用Win32的GetWindowLong和SetWindowLong API调用,这可以通过Jawin库来完成。 我想要非常精确的东西,所以我可以传递一个对JDialog或JFrame的引用,并获得窗口句柄。 使用JNI摆动透明度可能是相关的。

你如何使用CreateThread作为类成员的函数?

你如何使用CreateThread()来创build类成员函数的线程?

为什么closures使用AllocConsole启动的控制台会导致我的整个应用程序退出? 我可以改变这种行为吗?

我想要发生的是控制台窗口刚刚消失,或者更好的是它隐藏了,但我希望我的应用程序继续运行。 那可能吗? 我希望能够使用Console.WriteLine并将控制台用作输出窗口。 我希望能够隐藏和显示它,而且我不希望整个应用程序因为控制台closures而死亡。 编辑 码: internal class SomeClass { [DllImport("kernel32")] private static extern bool AllocConsole(); private static void Main() { AllocConsole(); while(true) continue; } } 编辑2 我试着在这里接受的解决scheme[ 捕获控制台退出C# ],根据这个问题的意见中的build议。 该示例代码被错误的DLLImport需要是“kernel32.dll”或“kernel32”,而不是“Kernel32”。 进行更改之后,当我单击控制台窗口上的X时,我正在向CTRL_CLOSE_EVENT的处理程序发送消息。 但是,调用FreeConsole和/或返回true不会阻止应用程序终止。

检测使用C#更改的活动窗口而不进行轮询

每当当前活动窗口改变时,如何调用callback函数。 我已经看到了如何使用CBTProc完成。 但是,全局事件并不容易与托pipe代码挂钩。 我有兴趣find一种不需要轮询的方式。 我更喜欢事件驱动的方法。 问候

gettimeofday()保证微秒的分辨率?

所以我发现自己将一个原本为Win32 API编写的游戏移植到Linux上(把Win32端口的OS X端口移植到Linux上)。 我已经实现QueryPerformanceCounter通过提供uSeconds自启动过程: BOOL QueryPerformanceCounter(LARGE_INTEGER* performanceCount) { gettimeofday(&currentTimeVal, NULL); performanceCount->QuadPart = (currentTimeVal.tv_sec – startTimeVal.tv_sec); performanceCount->QuadPart *= (1000 * 1000); performanceCount->QuadPart += (currentTimeVal.tv_usec – startTimeVal.tv_usec); return true; } 这与QueryPerformanceFrequency()给出一个恒定的1000000的频率, 在我的机器上运行良好,给我一个64位的variables,包含uSeconds自程序启动。 那么这是便携式? 我不想发现,如果内核是以某种方式编译或者类似的东西的话,它的工作方式会有所不同。 但是,对于Linux以外的其他软件,我没有任何问题。

C# – 检测上次用户与操作系统交互的时间

我正在写一个小的托盘应用程序,需要检测用户上次与他们的机器进行交互以确定它们是否空闲。 有什么方法可以检索用户上次移动鼠标,敲击键或以任何方式与其机器进行交互的时间? 我认为Windows显然跟踪这个来决定什么时候显示一个屏幕保护程序或关机等,所以我假设有一个Windows API来检索这个自己?