Articles of windows shell

我怎样才能从屏幕分辨率对话框在win7编程从监视器号码?

当您在“屏幕分辨率”对话框中按“识别”button时,Windows将在每台显示器上显示大量白色显示器号码。 在Windows XP中使用监视器坐标(使用EnumDisplayDevices)可以很容易地find它们,但在Windows 7上它已经损坏。 我怎样才能做到这一点? EnumDisplayDevices和GetMonitorInfo在Windows 7中不再可靠 。 我尝试了GetMonitorInfo,然后从MONITORINFOEX.szDevice(IE \。\ Display2)提取监视器号码,但没有成功。 另外一个人在两年前做了这个 ,声称getMonitorInfo有一个bug。 这个bug被Microsoft标记为没有任何评论,但仍然可以在具有最新更新的win7机器上进行复制。 (顺便说一句,有人可以告诉我 – 也许这个bug在win8上没有?) 我尝试从新的CCD API的QueryDisplayConfig ,但没有find所需的信息。 有人知道吗?

最小化/恢复窗口以编程方式跳过animation效果

我需要在窗口列表上执行多个操作(最小化其中的一些,还原其他窗口),以便一次切换两个或多个窗口。 这个问题是在最小化和恢复窗口时可以看到的那些animation。 整个过程看起来很糟糕,所有的animation进出,上下。 但是,我不能禁用这些animation,因为这是用于其他计算机的,我不想更改其他人的设置,而且当您最小化/恢复一个窗口(即手动执行)时,这些animation实际上是有用的,因为您可以看到发生了什么事情,但是一次只能在几个窗口上编程,这并不好。 我现在正在使用SendMessage函数发送WM_SYSCOMMAND消息与参数SC_MINIMIZE / SC_RESTORE 。 我不知道是否有另一种方式。 所以,这个问题: 我如何在没有animation效果的情况下以编程方式最小化/恢复窗口? PS:编程语言并不重要。 我可以使用任何语言来完成这个任务。

为Windows XP命令行提供“前置”function

有没有一个命令,我可以把一个Windows XP的.bat文件,把命令shell的前面?

如何使用Windows Shell APIparsing像“This PC \ Galaxy Tab A \ Card \ Folder1”这样的浏览器面包屑path?

当用户在Windows资源pipe理器中导航到他的Android手机的SD卡上的文件夹时,当在地址中点击一下时,资源pipe理器将显示一种类似"This PC\Galaxy Tab A\Card\Folder1"的面包屑path酒吧。 Windows资源pipe理器在地址栏中input或复制这些path时也会接受这些path并按回车键。 我想知道是否有一种方法来parsing这些使用Shell API的面包屑path,并返回一个IShellItem或IShellItem 。 到目前为止,我没有成功使用例如SHParseDisplayName() 。 这个代码 LPITEMIDLIST itemidlist; HRESULT hr = SHParseDisplayName(L"This PC\\Galaxy Tab A\\Card\\testfolder", NULL, &itemidlist, 0, NULL); 返回0x80070002作为HRESULT 。 当path不存在时 ,问题SHParseDisplayName将处理如何使用IBindCtx来parsing尚不存在的文件path的问题。 这可以使用STR_FILE_SYS_BIND_DATA绑定上下文来完成。 但是移动设备上的对象没有文件系统数据,而且它们已经存在,所以我不明白为什么这是重复的。

CommonScriptData中的VBScript

客户的应用程序“AppName”的configuration文件存储在CommonAppData中。 在Windows XP下是C:\Documents and Settings\All Users\Application Data\AppName 在Windows Vista中是C:\ProgramData\AppName 如何使用VBScript获得正确的文件夹名称?

获取Windows下载文件夹的path

我有一些Excel VBA代码,需要知道下载文件夹path。 我怎么能这样做? 由于您可以在Downloads文件夹(以及文档和大多数文件夹,通过文件夹属性)中移动,所以像%USERPROFILE%这样的环境variables是无用的,可以构build一个类似%USERPROFILE%\Downloads的path,而WScript.Shell.SpecialFolders不会列出下载文件夹。 我想这一定是读完registry ,但我对此毫无头绪。 谢谢!

如何在命名空间扩展中添加(启用)标准的“发送到”上下文菜单选项

我有一个命名空间扩展,它提供了一个服务器中的文件/文件夹的虚拟视图。 在IContextMenu::QueryContextMenu()我已经添加了一些自定义菜单项。 我还在IShellFolder::GetAttributesOf()设置了几个SGAOF标志,以获得上下文菜单中的重命名,删除和属性。 有什么办法可以让我的名字空间扩展项目的上下文菜单中的“ 发送到 ”选项? 一旦启用这些命令,我​​该如何处理这些命令? 请指教。 这是Denis Anisimovbuild议的那个代码 const CLSID SendToCLSID = { 0x7BA4C740, 0x9E81, 0x11CF, { 0x99, 0xD3, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37 } }; HRESULT CMyNSEContextMenu::Initialize(PCIDLIST_ABSOLUTE pidlFolder , IDataObject *pDataObj, HKEY hkeyProgID ) { OutputDebugString(L"CMyNSEContextMenu::Initialize\n"); //Other initialization code … … if (_pdtobj) { _pdtobj->Release(); _pdtobj = NULL; } _mpidlFolder = […]

更新Windows资源pipe理器中显示的可用空间量

如何更新驱动器的Windows资源pipe理器中显示的可用空间量? 假设Windows资源pipe理器已打开,并以编程方式删除了一些文件。 Windows资源pipe理器将不会刷新显示新的可用空间。 所以,我试图像这样使用SHChangeNotify (Delphi代码): ws := 'C:\'; SHChangeNotify (SHCNE_FREESPACE, SHCNF_PATH, PWideChar(ws), nil); 但不会更新“Windows资源pipe理器”中报告的值。 请帮忙。

* .bat和* .cmd文件有什么区别?

可能重复: Windowsbatch file:.bat vs .cmd? 嗨, 我正在学习Windows批处理编程,并遇到这个问题: .bat和.cmd文件有什么区别? 如果他们是相同的,为什么需要其中2? 顺便说一句, command.com和cmd.exe有什么区别?

图标覆盖处理程序的命名空间扩展

我正在开发命名空间扩展,它提供了服务器上的文件的虚拟视图。 在这个视图中,我需要使用叠加图标提供不同的状态(使用中,离线,不同步等)。 我通过实现覆盖处理程序的文章阅读,并认为我会尝试在我们的覆盖处理程序之一,实现IShellIconOverlayIdentifier接口处理此。 我看到IShellIconOverlayIdentifier :: IsMemberOf()和其他函数只有当我访问正常文件系统上的文件,即c:\,d:\等时才被调用。当我浏览命名空间扩展时,根本不会调用这些调用。 这是为什么? 如何在命名空间扩展中为对象实现覆盖? 问候,Madhu