我想为照片写一个新的缩略图处理程序。 我希望我的缩略图处理程序只能在某些特定的文件夹上激活。 如果文件不在这些特殊文件夹中,我只是想将呼叫转发到Windows默认缩略图处理程序。 所以我想我的缩略图处理程序是一个简单的包装在默认的。 有没有办法从我的处理程序代码调用默认处理程序? 如果重要的话,这只适用于Windows 10。 谢谢,
有没有人知道如何在资源pipe理器的活动窗口中获取选定的文件/文件夹。 我查看了MSDN中的Shell API部分,但没有发现类似的东西。
这个脚本应该打开第一个find的networking连接的启用或连接的Windows shell状态和属性对话框。 但是,只打开属性对话框。 “状态”对话框的动词已经正确,即“Stat&us”。 该脚本已经过testing,将在Windows XP Pro SP3 32位下使用。 它已经通过连接的3G拨号和LAN环回进行了testing。 两者都有同样的问题。 dim a,b,c set a=createobject("shell.application") set b=a.namespace(0).parsename("::{7007ACC7-3202-11D1-AAD2-00805FC1270E}").getfolder for i=0 to (b.items.count-1) set c=b.items.item(i) for j=0 to (c.verbs.count-1) 'only process connected/enabled if (lcase(c.verbs.item(j)) = "disc&onnect") or (lcase(c.verbs.item(j)) = "disa&ble") then 'open status and properties dialogs c.invokeverb("Stat&us") 'this doesn't work c.invokeverb("P&roperties") 'this one works msgbox "Press OK […]
我现在正在处理一个拖放问题,并试图从windows shell中将项目的PIDL拖到我的应用程序中。 如果被拖动的项目是“我的电脑”或“控制面板”本身,下面的代码可以得到正确的PIDL,但当拖动的项目是“控制面板”中的项目时,它不起作用。 我的代码有什么问题? #define GetPIDLFolder(pida) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[0]) #define GetPIDLItem(pida, i) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[i+1]) STGMEDIUM medium; UINT fmt = RegisterClipboardFormat(CFSTR_SHELLIDLIST); FORMATETC fe= {fmt, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; HRESULT GETDATA_RESULT = pDataObject->GetData(&fe, &medium); if (SUCCEEDED(GETDATA_RESULT)) { LPIDA pida = (LPIDA)GlobalLock(medium.hGlobal); LPCITEMIDLIST pidlFolder = GetPIDLFolder(pida); int n = pida->cidl; // the n is always correct if( n > 0 ) […]
这是我想要得到的: 我知道这是可能的,因为总指挥官显示完全相同的信息,虽然在不同风格的窗口。 这使我认为,对于任何给定的文件,都必须有一种查询方式。
我正在尝试的Windows壳文件将被插入到它将分析文件夹内容的文件夹中。 现在我想知道如何检测哪个是当前path? 即使用FileSystemObject放置vbs文件的位置? 设置objFSO = CreateObject(“Scripting.FileSystemObject”)
我尝试了几个版本的Wscript exec方法。 如果我使用cmd.exe / C MyRequest,如果MyRequest失败,则执行不报告错误,但如果未使用cmd.exe / c,则返回错误。 我在想,cmd.exe报告的MPyRequest调用的返回码,但似乎不是。 在这种情况下如何检索返回码。 这里是我的testing的简化版本(评论直接版本有非故障) 环境将主要是Windows 7(通常没有其他系统,也许XP) ' Missing.cmd does not exist to force the failure test 'version with cmd.exe (CmdDir content is a valid and working cmd.exe) ExecCmd = CmdDir & " /c Missing.cmd 1" ' direct version ExecCmd = "Missing.cmd 1" Set objShell = CreateObject("WScript.Shell") On Error […]
我正在尝试更新win32 shell脚本中的系统pathvariables,但只有当值不存在。 我目前的版本看起来像这样: for %%f in (xyz.exe) DO if [%%~$PATH:f]==[]; setx Path "%PATH%;%GRADLE_HOME%\bin" -m 我遇到的问题是与 setx Path "%PATH%;%GRADLE_HOME%\bin" 这不起作用,但如果我将报价更改为单引号 setx Path '%PATH%;%GRADLE_HOME%\bin' 它确实有效,但Path在第一次出现Program Files时结束。 即abc; def;程序 有什么办法可以克服吗?
我想让我的.Net应用程序在系统托盘中显示通知。 所以我想展示一个图标,谁能告诉如何做到这一点?
我目前正在使用SHBrowseForFolder()来打开浏览文件夹窗口,但是当按下取消 / 确定button时,如何返回焦点到我的主窗口。 我读过,我应该重新启用我的主窗口之前,对话框closures,但究竟在哪里呢? 有什么想法吗? void buttonPush(HWND hWnd) { EnableWindow(hWnd, FALSE); BROWSEINFO bi = { 0 }; TCHAR szDir[MAX_PATH] = { 0 }; LPITEMIDLIST pid = NULL; LPMALLOC pMalloc = NULL; if (SUCCEEDED(SHGetMalloc(&pMalloc))) { ZeroMemory(&bi,sizeof(bi)); bi.hwndOwner = NULL; bi.pszDisplayName = NULL; bi.pidlRoot = NULL; bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT | BIF_USENEWUI; bi.lpfn = BrowseCallbackProc; pidl […]