我在情况下,我有tcharvariables(有一些信息),我需要将其传递到另一个线程的对话框。 我尝试通过发送消息和TCHAR作为LPARAM但访问该variables时对话仍然没有看到任何东西,我猜是因为我发送的数据属于另一个进程? 我在这里有什么select? 谢谢。
是否有可能在LVS_EX_CHECKBOXES样式三态(具有BS_3STATEbutton样式)的列表视图控件中的checkbox? 我正在使用WTL,但我可以手动发送消息。
我可以使用不同的标志(在这种情况下,一个与FILE_FLAG_NO_BUFFERING和一个没有)两次打开相同的文件(与CreateFileA )? 详细情况如下:在启动过程中,我创build了一个临时文件(使用FILE_FLAG_DELETE_ON_CLOSE)。 我按顺序填充它,我不想担心在这部分做无缓冲的IO。 然后,当进程正在运行时,我想使用无缓冲IO访问该文件,因为我有自己的caching逻辑。 因此,我打算再次打开相同的文件,这次用FILE_FLAG_NO_BUFFERING,然后closures旧的句柄。 我想以这种重叠的方式做到这一点,原因有两个: 并发。 如果我在打开新的句柄之前closures了旧的句柄,那么其他人可能会同时弄乱我的文件。 FILE_FLAG_DELETE_ON_CLOSE会删除我的文件,当我closures第一个句柄没有打开另一个。 这是一个小小的烦恼,我可以解决。
有没有办法改变popup菜单的位置。 使用顶级窗口,我可以通过CBTProccallback函数和MoveWindow来完成。 我可以用菜单做同样的事吗? 需要这样做,以便popup式菜单仅位于其父窗口的区域中。 像一个光窗口pipe理器。
我需要使我的应用程序能够logging文件读取操作(从所有正在运行的应用程序中创build)。 build议一个最简单的方法来做到这一点,PLZ。
有没有人知道如何在资源pipe理器的活动窗口中获取选定的文件/文件夹。 我查看了MSDN中的Shell API部分,但没有发现类似的东西。
我试图发送用户注册的消息到窗口程序,程序收到消息,但它没有看到它正在发送的特定注册消息。 所以从开始…我确保所有的dll实例共享meessage。 #pragma data_seg(“.shared”) … … UINT WM_HOOKEX = 0; … #pragma data_seg() #pragma comment(linker,“/ SECTION:.shared,RWS”) 在dllmain我确保它只有一次注册 BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lp保留 ) { 如果(ul_reason_for_call == DLL_PROCESS_ATTACH) { hDll =(HINSTANCE)hModule; // DisableThreadLibraryCalls(hDll); 如果(WM_HOOKEX == NULL) WM_HOOKEX = :: RegisterWindowMessage(_T(“WM_HOOKEX_RK”)); } 返回TRUE; } 后来与导出的DLL函数(即共享DLL和消息),我在我的应用程序我钩到所需的窗口的过程,并发送此消息与 SendMessage(plist,WM_HOOKEX,0,1); 挂钩的过程收到消息(因为我正在检查与DLLdebugging),但它不能看到它是什么消息。 Dlldebugging显示线程已将消息注册在其内存中,但过程不会收到正确的消息参数。 此外,我相信它收到这个消息,而不是其他一个,因为这是唯一的消息指向我所调用的过程,所以我没有可能,我的自定义mssg可能仍然在队列中,那么为什么我想知道为什么现在几天,为什么它没有收到消息,因为它甚至应该debugging显示它将自定义消息保存在其内存中! 这是接收它的程序(或实际上不) #define pCW((CWPSTRUCT *)lParam) LRESULT […]
我想在不是我的应用程序(即我没有源代码)不能closures或resize(听起来令人讨厌,但它是在用户的要求…)无论如何,我已经pipe理几乎完成这个代码: def set_window_style(hwnd, resizable=None, sysmenu=None): style = win32api.GetWindowLong(hwnd, win32con.GWL_STYLE) if resizable is not None: if resizable: style &= win32con.WS_SIZEBOX else: style &= ~win32con.WS_SIZEBOX if sysmenu is not None: if sysmenu: style &= win32con.WS_SYSMENU else: style &= ~win32con.WS_SYSMENU win32api.SetWindowLong(hwnd, win32con.GWL_STYLE, style) 给这两个参数赋予False意味着他们不能拖动来调整它的大小或者最大化或者按下“x”button,因为它们不在那里。 但是,如果双击标题栏,窗口仍然是最大化的。 有没有办法来禁用这种行为? 此外,如果我点击任务栏中的窗口,它最小化和恢复。 我也可以禁用这个吗?
我在MSDN上阅读以下内容 : 一旦select了RT_GROUP_ICON,则必须select并提取单个图标图像或RT_ICON资源。 同样,如果对于所讨论的组仅存在一个RT_ICON资源,则select是微不足道的。 但是,如果组中存在多个图像,则应用以下select规则: select与所请求尺寸最接近的图像。 如果存在两个或更多尺寸的图像,则select与显示颜色深度相匹配的图像。 如果没有与显示器的颜色深度完全匹配,则Windows将select具有最大颜色深度的图像,而不超过显示器的颜色深度。 如果所有尺寸匹配的图像超过显示器的颜色深度,则select具有最低颜色深度的图像。 Windows将8个或更多bpp的所有颜色深度视为相等。 例如,在同一资源中使用16×16 256色图像和16×16 16bpp图像是毫无意义的,Windows只会select遇到的第一个图像。 当显示器处于8bpp模式时,Windows将优先使用16色图标而不是256色图标,并使用系统默认调色板显示所有图标。 但是我也看到开发者应该提供每种尺寸的8位和24位,8位和4位版本来支持不同的深度。 如果#5以上是真的,为什么我需要8位版本? 如果#5是真的,#6如何应用? Windows如何select? 包含所有这些颜色深度是否真的很重要,如果窗户对待他们都是一样的?
我正在写一个小的服务,将文件存储在磁盘上,并在以后,请求,返回给客户端。 我正在查看我的选项,以确保此服务,因此没有未经授权的程序可以读取/写入数据。 最简单的解决scheme将使用模拟,以便处理调用的服务线程模拟客户端,并让文件系统清理可以做什么或不做什么。 这里的问题是,服务本身必须能够在没有模拟的情况下读取文件(周期性function在后台运行)。 我已经阅读了MSDN上的以下章节,我正在寻找您或其他人以前使用的实用技巧来确保此类服务的安全。 http://msdn.microsoft.com/en-us/library/aa373582(v=vs.85).aspx