Articles of Windows

API,框架和中间件有什么区别?

只是随机把这个问题在我的脑海中! API,框架和中间件有什么区别? 基本上所有这些都为应用程序提供抽象的低级服务。 在这种情况下,为什么称为框架和Windows API的networking称为好.. API?

在Python中获取特定目录中的video总长度

我从coursera.org下载了一堆video,并将它们存储在一个特定的文件夹中。 在一个特定的文件夹中有许多单独的video(Coursera将演讲分成多个短video)。 我想有一个Python脚本,给出在一个特定的目录中的所有video的总长度。 video文件是.mp4格式。

在QT中阅读窗口的registry

我想通过从HKEY_CURRENT_USER读卸载registry文件列出所有已安装的应用程序。 但看起来不能使用QSettings,出于一些安全原因(我猜)。 QSettings maya("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall 人们build议使用WinAPI来完成这个(至less在Window平台上) 有人可以指导我如何添加和使用此lib请? 谢谢

DMA传输RAM到RAM

我的一个朋友告诉我,在x86架构上,DMA控制器不能在两个不同的RAM位置之间传输。 它只能在RAM和外设之间传输(如PCI总线)。 这是真的? 因为AFAIK DMA控制器应该能够在位于总线上并具有地址的任意设备之间。 特别是,如果源地址和描述地址属于同一物理设备,则看不到问题。

Windows上的iPhone SDK(替代解决scheme)

我知道有没有官方SDK的Windows,这是非常烦人的。 有什么办法可以在Windows计算机上开发应用程序,而不是在VMware中运行Mac OS? 我知道你可以用Xcode来做,但是这也只适用于Mac OS X.谷歌search没有透露任何东西。 如果我不能使用SDK或Xcode,有没有什么办法可以检查语法或其他东西,只需在记事本中写入代码并将其保存为适当的扩展名? 我不知道我是否能够做到这一点,可能是因为我从来没有尝试过SDK,也许永远不会购买Mac。

从Windows中删除我的文件名中的最后一个字符

林相当新的批处理编程,我想删除我的文件名的最后一个字符。 10_myfile_12345_6789.txt 11_myfile_12345_0987.txt 我想删除我的文件名的最后4位数字我怎么能做到这一点? 我已经试过了 @echo off setlocal enabledelayedexpansion set X=3 set FOLDER_PATH= pushd %FOLDER_PATH% for %%f in (*) do if %%f neq %~nx0 ( set "filename=%%~nf" ren "%%f" "!filename!%%~xf" ) popd PAUSE 但它删除了第一个和最后一个字符,我只在这里看到这一点,即时通讯仍然很困惑,这是如何工作的

SSL证书预取.NET

我正在编写一个实用程序,可以让我监视我们网站的健康状况。 这包含一系列可以针对Web应用程序运行的validation任务。 其中一项testing是预测特定SSL证书的到期date。 我正在寻找一种方法来预先获取安装在网站上的使用.NET或WINAPI的SSL证书,以便我可以validation与特定网站相关联的证书的到期date。 我可以做到这一点的一个方法是caching证书,当它们在ServicePointManager.ServerCertificateValidationCallback处理程序中进行validation,然后将它们与configuration的网站进行匹配,但是这似乎有点冒失鬼。 另一种方法是使用网站的证书configuration应用程序,但是如果可以的话,我宁愿避免这种情况,以尽量减lessconfiguration。 使用.NET下载与网站相关的SSL证书最简单的方法是什么,这样我可以检查证书包含的信息来validation它? 编辑: 为了扩展下面的答案,在创build请求之前不需要手动创buildServicePoint。 它是在请求对象上生成的,作为执行请求的一部分。 private static string GetSSLExpiration(string url) { HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; using (WebResponse response = request.GetResponse()) { } if (request.ServicePoint.Certificate != null) { return request.ServicePoint.Certificate.GetExpirationDateString(); } else { return string.Empty; } }

使用.bat文件检查文件夹是否存在

我想能够检查某个文件夹(FolderA)是否存在,如果是,则显示消息,然后退出batch file。 如果FolderA不存在,那么我想检查是否存在另一个文件夹(FolderB)。 如果FolderB不存在,则应显示消息并创build文件夹,如果FolderB确实存在,则应显示消息。 有没有人有任何想法的代码,我可以简单地使用记事本创build一个batch file,让我这样做? 所有这些都需要在一个.bat文件中完成。

使用gcc时,在头文件中查找定义的好方法是什么?

有没有人有推荐的方式来find在头文件中使用gcc的定义? 当使用MSVC时,我可以右键单击并select“转到定义”,这非常好。 我已经使用netbeans + gcc,它有代码帮助,包括超链接到定义,所以这是一个选项。 不过,我想知道是否有任何其他IDE具有该function,也是不使用IDE的最佳方式。

如何创build一个更低的完整性级别(IL)的新stream程?

看起来,从Windows Vista开始,具有较低完整性级别(IL)的进程不能将消息发送到具有较高完整性级别的进程。 这从安全的angular度来看是有道理的,但是它打破了我们的一些进程间通信。 我们有遗留的应用程序(进程A),不幸的是必须以提升的“pipe理员”权限运行(通过将其快捷方式设置为始终以pipe理员身份运行来完成)。 有时它需要实例化一个单独的应用程序(过程B)。 因此,进程Binheritance了与进程A相同的提升权限(和IL)。存在这个问题。 可能还有其他独立的进程B实例没有提升权限,所有这些进程B实例都需要能够相互发送消息。 如果进程B的一个实例提升,另一个则不提升,这显然会失败。 我知道我们可以使用ChangeWindowMessageFilter API方法在UIPI消息filter中打开漏洞,但这看起来不是理想的解决scheme。 相反,我更愿意让Process A产生具有减less权限的进程B,特别是为了能够与其他进程B实例进行通信。 我想默认情况下,其他进程B实例运行在“中”IL,所以我想过程A产生与这个相同的IL过程B实例。 我的search引导我到CreateProcessAsUser和CreateRestrictedToken API方法,但尽pipe有这个文档,所有的令牌和安全描述符等方面仍然让我感到困惑。 我也遇到了一些线程( 在winapi中运行一个具有最低权限的进程, 在Windows上运行C ++的权限 ),但是我找不到任何有代码的好例子。 任何人都可以提供一些简单但“正确”的代码,这将帮助我使用适当的Windows IL产卵subprocess? 具体来说,我想要一个如何采取现有的过程A令牌的例子,并将其转换,使其具有减less的权限(我敢肯定,我可以找出其余的)。 我还不清楚在修改之前是否需要复制进程的标记。