从Windows启动脚本类型的python文件时,会得到一个运行脚本的Windows shell类型窗口.脚本如何确定并设置/控制所述窗口的窗口大小,屏幕缓冲区大小和窗口位置?我怀疑这可以用pywin32模块完成,但我找不到如何.
首先,抱歉我的英语不好......
我想使用命名空间扩展(NSE)向Windows资源管理器添加一个虚拟文件夹,我希望用户能够打开这个虚拟文件夹来探索一些路径(例如c:\test).
我怎么能用Delphi做到这一点?谢谢.
如何使用WScript编写文本文件我真的很新,这就是为什么我不能提供一些细节.我想写可以保存在c日志文件://用户/用户/应用程序数据/本地
我的示例代码,使用FileSystemObject
function WriteFile()
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fh = fso.CreateTextFile("d:\\Test.txt", true);
fh.WriteLine("Some text goes here...");
fh.Close();
}
<body onload = "WriteFile();">
</body>
Run Code Online (Sandbox Code Playgroud)
它确实在d中返回:但在本地c:它不会.
我想锁定当前操作用户的访问,就好像该用户
单击“开始”→指向“关机”→单击“锁定”
在 C# 中如何做到这一点?
我正在开发一个替代IFileOpenDialog和IFileSaveDialog。
我几乎可以使用它(至少是IFileOpenDialog),但是当我要返回IShellItem代表新文件名(用户已选择保存在GetResult()方法中)的时,我将无法SHParseDisplayName使用该新文件名。我总是收到一个错误"The system cannot find the file specified"。
我将欣赏一些示例或其他解决方案,也许可以解决我的问题。
编辑:
HRESULT CFileSaveDialogProxy::GetResult( __RPC__deref_out_opt IShellItem **ppsi)
{
//return m_Original->GetResult(ppsi);
WCHAR pszPath[MAX_PATH] = {0};
HRESULT hr = ERROR_CANCELLED;
if (m_SelectedFiles.size() > 0)
{
QString s = m_SelectedFiles.at(0);
s.replace(QString("/"),QString("\\"));
s.toWCharArray(pszPath);
//PCIDLIST_ABSOLUTE pIdL = ILCreateFromPath(pszPath);
PIDLIST_ABSOLUTE pIdL = NULL;
SFGAOF out;
hr = SHParseDisplayName(pszPath,NULL,&pIdL,SFGAO_FILESYSTEM,&out);
if (SUCCEEDED(hr))
{
hr = SHCreateItemFromIDList(pIdL, IID_PPV_ARGS(ppsi));
}
}
return hr;
}
Run Code Online (Sandbox Code Playgroud) 说,我创建了我的图标:
//'ghIcon' of type HICON
ghIcon = LoadImage(m_hInstance, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, nCx, nCy, 0);
Run Code Online (Sandbox Code Playgroud)
然后将其设置为显示在系统托盘上:
NOTIFYICONDATA nid;
memset(&nid, 0, sizeof(nid));
nid.cbSize = sizeof(nid);
nid.hWnd = hMyWnd;
nid.uID = TRAY_ICON_ID1;
nid.uFlags = NIF_ICON;
nid.uCallbackMessage = TRAY_NOTIFICATION_ID1;
nid.hIcon = ghIcon;
Shell_NotifyIcon(NIM_ADD, &nid);
Run Code Online (Sandbox Code Playgroud)
然后在某个时候我想用一个新图标替换它:
if(ghIcon)
{
//Delete old icon first
DestroyIcon(ghIcon);
}
//Load new icon
ghIcon = LoadImage(m_hInstance, MAKEINTRESOURCE(IDI_ICON2), IMAGE_ICON, nCx, nCy, 0);
NOTIFYICONDATA nid;
memset(&nid, 0, sizeof(nid));
nid.cbSize = sizeof(nid);
nid.hWnd = hMyWnd;
nid.uID = TRAY_ICON_ID1;
nid.uFlags = NIF_ICON;
nid.hIcon = ghIcon;
Shell_NotifyIcon(NIM_MODIFY, …Run Code Online (Sandbox Code Playgroud) 目前,我正在使用 wxWidgets 的 wxGenericDirCtrl,它为我提供了目录树的用户界面。它看起来像这样:
但是,我希望它看起来像这样:
在与 wxWidgets 开发人员交谈时,他们建议一种好的方法是修改 wxGenericDirCtrl 类以使用本机 Windows 目录控件。我想自己将此功能贡献给 wxWidgets,但我不确定从哪里开始,并且可以使用一些建议来帮助我开始。
问题:
我正在尝试有条件地使用(如果可用)该函数PathCchAppend。我已经从 header 获得了函数签名pathcch.h。但是,当我尝试从 获取函数的地址时SHLWAPI.DLL,它失败了:
auto pca = GetProcAddress(GetModuleHandle(L"shlwapi.dll"), "PathCchAppend");
Run Code Online (Sandbox Code Playgroud)
使用 Depends,我看到这个 DLL 中不存在这个函数(我在 Windows 10 上)。不存在任何pathcch.dll,因此也无法加载它。
这个函数放在哪个DLL中?
编辑:感谢您的回答。在这里我找到了 DLL 的名称,如下面的答案中所述:
https://learn.microsoft.com/en-us/windows/win32/apiindex/windows-81-api-sets
我想获取指定文件夹的系统图标,但是检索图标的唯一方法是使用SHGetFileInfo()方法.SHGetFileInfo()方法的第一个参数是LPITEMIDLIST的指针.
如果我只有文件夹的绝对路径,我如何根据路径获取指针?
我安装了InDesign CS2和CS3.两者都使用扩展名为.indd的文件.Windows如何知道使用哪个图标?它使用正确的图标,即CS2文件有cs2图标,CS3文件有CS3图标.
Windows如何知道如何做到这一点?
如何在程序中提取或使用此版本检测系统?
编辑:
感谢您的shell-extension-icon-handler答案.对我来说是新事物.但有什么方法可以连接到InDesign提供的IconHandler并使用它来检测InDesign文件的版本?
windows-shell ×10
winapi ×5
c++ ×4
windows ×3
icons ×2
c# ×1
delphi ×1
detection ×1
dll ×1
explorer ×1
javascript ×1
jscript ×1
python ×1
pywin32 ×1
scripting ×1
system-tray ×1
trayicon ×1
visual-c++ ×1
wxwidgets ×1