Articles of Windows

如何获得完整的shell右键菜单的文件夹背景

我可以获得shell接口IShellView ,我可以得到它的上下文菜单右键单击文件夹视图的白色区域(背景),以下是我的代码: … IShellFolder* psf = NULL; HRESULT hr = psfDesk->BindToObject(g_pidlSelectingFolder, NULL, IID_PPV_ARGS(&psf)); … IShellView* pShellView = NULL; if (FAILED(psfSelf->CreateViewObject(hParent, IID_PPV_ARGS(&pShellView)))) return; IContextMenu3* pcm3 = NULL; hr = pShellView->GetItemObject(SVGIO_BACKGROUND, IID_IContextMenu3, (LPVOID*)&pcm3); HMENU hMenu = ::CreatePopupMenu(); pcm3->QueryContextMenu(g_hMenu, 0, 1, 10000, CMF_NORMAL); POINT pt; ::GetCursorPos(&pt); BOOL nCommandID = TrackPopupMenu(hMenu, TPM_RETURNCMD | TPM_LEFTALIGN, pt.x, pt.y, 0, hParentWnd, NULL); […]

如何复制/剪切文件(而不是内容)到命令行中的Windows剪贴板?

有没有办法从命令行复制(或剪切)到Windows剪贴板的文件? 特别是使用批处理脚本。 我知道如何将内容复制到剪贴板( type file | clip ),但事实并非如此。 我想拥有整个文件,因为我会在Windows资源pipe理器中按Ctrl + C。

创build一个目录,如果它不存在

在我的应用程序,我想复制到另一个硬盘的文件,所以这是我的代码: #include <windows.h> using namespace std; int main(int argc, char* argv[] ) { string Input = "C:\\Emploi NAm.docx"; string CopiedFile = "Emploi NAm.docx"; string OutputFolder = "D:\\test"; CopyFile(Input.c_str(), string(OutputFolder+CopiedFile).c_str(), TRUE); return 0; } 所以在执行这个之后,它在D: HDD中显示了一个文件testEmploi NAm.docx但是我想要他创buildtesting文件夹,如果它不存在的话。 我想这样做,而不使用Boost库。

使用NSIS检测目标卷是否为NTFS

我使用NSIS为需要在NTFS卷上运行的程序创build安装程序。 如何检测安装path是否在NTFS卷上,并相应地执行(显示帮助/警告消息)?

未定义的引用“inflateInit2_”

我正在使用Code Blocks IDE,我想为SFML安装Tiled Map Editor。 所以,我下载了源代码并将其导入到我的项目中。 不幸的是,由于缺lesszlib库,构build完成了一个错误。 我下载并重新构build。 这次我收到一个错误,内容如下: undefined reference to `inflateInit2_'| undefined reference to `inflateEnd'| undefined reference to `inflateEnd'| 在互联网上,我发现join链接器命令-lz的build议,但编译器拒绝抛出错误: 无法find-lz 。 有谁知道如何修理它? 问候。

为什么Windows 10在我的程序中启动额外的线程?

在Visual Studio 2015中,在一个新的空的C ++项目中,为控制台应用程序构build以下内容: int main() { return 0; } 在返回中设置一个中断点,并在debugging器中启动程序。 在Windows 7上,从截点开始,这个程序只有一个线程。 但在Windows 10上,它有五个(!)线程:主线程和四个等待同步对象的“工作线程”。 谁启动线程池(或如何找出)?

用putty在批处理中input第二个用户名和密码

我想知道如何在初始login成功后在腻子中自动input用户名和密码。 我有一个bat文件connect.bat @echo off putty [user]@[host] -pw [password] 运行这个之后,它打开一个新的腻子窗口并validationlogin。 如果成功,我不会redirect到shell,而是redirect到另一个login屏幕。 下面的示例。 然后,我需要通过input以下内容手动input不同的用户名和密码。 [username] [ENTER KEY] [password] [ENTER KEY] 最后redirect到主机的菜单。 我尝试了以下内容: echo [username] & [password] | putty [user]@[host] -pw [password] putty [user]@[host] -pw [password] < user_pass.txt putty [user]@[host] -pw [password] -m user_pass.txt 但失败了,有没有办法通过批处理/ PowerShell脚本来执行此操作,还是应该合并另一个应用程序?

LoadLibrary引用计数

来自MSDN : 系统在所有加载的模块上维护每个进程的引用计数。 调用LoadLibrary会增加引用计数。 引用计数存储在哪里?

在Windows XP,Vista和7上安装了什么版本的.NET框架?

我有一个使用.NET框架3.5的应用程序。 我正在为一所大学build立这个应用程序来帮助学生学习。 大多math生通常使用Windows XP SP2,Windows Vista或Windows 7.(对不起Mac用户!Mac版本将在6个月左右出现)在Windows XP,Vista和7上安装了.NET Framework的哪个版本; 我的应用程序会运行在所有这些平台上吗?

使用Gmail发送邮件

public static bool SendMail(string toList, string from, string ccList, string subject, string body) { MailMessage message = new MailMessage(); SmtpClient smtpClient = new SmtpClient(); try { MailAddress fromAddress = new MailAddress(from); message.From = fromAddress; message.To.Add(toList); if (ccList != null && ccList != string.Empty) message.CC.Add(ccList); message.Subject = subject; message.IsBodyHtml = true; message.Body = body; smtpClient.DeliveryMethod = […]