草庐IT

c++ - shell 扩展 : DragQueryFile returns at most 16 (in Windows 7)

我已经编写了一个shell扩展(由TheCompleteIdiot'sGuidetoWritingShellExtensions指导),在我升级到Windows7(32位)之前它可以正常工作。现在,函数DragQueryFileUINTuNumFiles=DragQueryFile(hDrop,0xFFFFFFFF,NULL,0);返回所选文件的正确数量,直到该数量超过16。然后始终返回16。我已经在XP(32)和Vista(32)中测试过它,它可以工作,在Windows7(32/64)中它没有。有什么想法吗?谢谢。 最佳答案 IS

windows - 32 位用户模式驱动程序可以在 64 位操作系统上运行吗?

我一直在查看一些关于64位驱动程序开发的信息;我发现必须重写驱动程序才能与64位操作系统兼容。但是,我想知道这是否也适用于用户模式驱动程序。我问这个的原因是因为我的理解是用户模式驱动程序通过Win32API,所以理论上它们应该能够在WOW32之上运行。这是真的吗?谢谢,海梅 最佳答案 用户模式驱动程序可以是32位或64位,但请注意以下几点:用于打印、扫描和相机的用户模式驱动程序必须是64位。不允许使用旧版API(特定于WindowsNT®4.0)。http://www.microsoft.com/whdc/driver/kernel

c++ - 是否有用于 Shell 扩展的点击处理程序

经过MSDNShellExtensions之后我不太确定我是否可以扩展资源管理器的ShellClick或ClickEvent的行为。任何建议或代码片段、文章或演练? 最佳答案 不存在这种可能性。那会使外壳太脆弱。想象一下所有利用此功能的恶意软件。如果要捕获点击事件,没有简单的方法。你可以SetWindowsHookEx并监视/捕获CabinetWClass和/或DirectUIHWND类的所有窗口的鼠标消息。您可以将您的代码注入(inject)explorer.exe的进程并从那里拦截消息。这是injectingadllintoap

c# - 在 C#/VB.NET 或 C++ Win32 中启用/禁用 Aero

如何在C#.NET或C++Win32中禁用aero效果???这是我在C/C++中的测试代码,但只有在我的应用程序运行时才有效#includeintmain(){DwmEnableComposition(DWM_EC_DISABLECOMPOSITION);while(true);//...return0;}//LINKdwmapi.lib谢谢编辑:我想通了#include#includeintWINAPIWinMain(HINSTANCEhI,HINSTANCEhP,PSTRstr,intc){DwmEnableComposition(DWM_EC_DISABLECOMPOSITION

c - 应用程序登录纯 win32 项目

在网络开发中,我有自己的框架,它使用日志文件来帮助我进行开发并监控错误或生产。这个web框架几乎总是在*nix上运行,使用简单的纯文本作为日志文件、logrotate和tail。今天我正在创建一个win32应用程序,它将充当TCP/IP服务器(这是一个桌面应用程序,但嵌入了一些服务),我需要记录事件以便知道什么时候出现问题(在生产和开发中),在我创建它时进行调试)。我记得MFC,我有TRACE宏。这对开发调试来说很好。纯win32开发有TRACE之类的吗?对于生产日志,事件日志记录的最佳方法是什么?Windows事件日志或简单的纯文本文件?如何在Windows中旋转它?谢谢,丹尼尔·科

javascript - C++,win32 API : How to create an html rendering window so that your application would get callbacks from JS calls?

我需要的很简单:我们有一个控制台应用程序项目。我们想要这样一个函数,它可以打开一个简单的窗口,其中只有html(基于默认系统)html+js渲染窗口,该窗口将读取一些默认的html+js字符串(表单字符串或constchar*)。我们希望将我们自己的api与默认的jsapi结合起来,这样当JS调用一些our.function(argument);时,我们会让我们的C++应用程序执行一些函数,例如cout参数。如何在Windows上创建这样的东西? 最佳答案 共同创建HTML文档的MSHTMLcom对象:CComPtrspDoc;HR

windows - Shell 命名空间扩展添加障碍

我在WindowsXP中使用默认shellView实现了命名空间扩展。一切正常,但我想添加路障(ADescriptionofProtectedFolders-也适用于WindowsXP)。是否可能使用已记录/未记录的函数(SFVM消息),或者此功能是硬编码的? 最佳答案 如果您自己为扩展View填充所有数据,那么您可以自己读取隐藏(或任何其他)文件夹的内容并立即显示它们,或者在需要时隐藏。您的扩展使用它自己的命名空间,它不受内置shell保护选项的控制。附言从Windows7+开始应该不是问题。

c++ - 以编程方式关闭对话框 - win32

我正在开发一个检测弹出对话框的应用程序,然后自动关闭它。我将其编写为C++/Win32应用程序。这对话框是由IE7生成的,我可以检测到窗口,但是使OK按钮“单击”的几种方法都失败了。搜索其他人的解决方案,将这些消息发送给按钮handle似乎在很多情况下都有效:PostMessage(handle,WM_LBUTTONDOWN,0,0);PostMessage(handle,WM_LBUTTONUP,0,0);PostMessage(handle,BM_SETSTATE,1,0);虽然在我的测试中它对按钮状态没有影响。我可以将制表符发送到主窗口并看到OK按钮获得焦点,但随后发送返回字符没

Java JACOB 检索给定 Win32_* 类对象的所有属性

我目前正在开发一个基于java的跨平台软件分发器,我选择使用native操作系统机制来防止用户事先进行任何设置。我为SSH2选择了JSCH,为Java选择了JACOB。我意识到JACOB将我限制为将Windows作为起始主机,但这是我可以接受的。我正在围绕JACOB编写一个包装器,以使用一些native机制通过WMI与目标通信,但我遇到了一个小问题。我正在尝试检索可用于给定Win32_类对象的所有属性的列表,但我无法做到这一点。此链接显示您可以在VB中完成http://www.vbsedit.com/scripts/misc/wmi/scr_1333.asp我想知道在使用JACOB时是

java - rundll32 url.dll,FileProtocolHandler

我正在使用rundll32url.dll,FileProtocolHandlermy_file.dotx在Windows下打开文件。它适用于.docx文档,但当我尝试使用.dotx文档(模板文档)时,它会根据模板创建一个新的.docx。就像Windows资源管理器中的正常行为一样:当您双击.dotx模板文件时,它会基于它创建一个新的.docx文件。如果您想打开真正的.dotx文件,您必须右键单击它并选择“打开”而不是“新建”。问题是:如何对rundll32做同样的事情?命令中是否有强制打开底层模板而不是创建新文档的选项?编辑:我需要一种不需要C函数的方法,只需在命令行中使用纯文本(我正