小编dav*_*vid的帖子

Rundll32.exe javascript

我刚刚(2014年8月)看到了一个使用命令行的程序的报告

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication"
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?我认为第一个参数应该是DLL的名称(mshtml),但是rundll32如何解析该命令行?

rundll参考:http: //support.microsoft.com/kb/164787

javascript mshtml rundll32

7
推荐指数
1
解决办法
7541
查看次数

用于检测 Windows 系统区域设置是否使用 UTF-8 代码页的脚本?

在最新版本的 Win10 上,可以将活动代码页 (ACP) 设置为 UTF-8 代码页。正如此处所讨论的,可以将系统区域设置(用于在 Windows API 的“A”版本和“W”版本之间进行映射)设置为使用 UTF-8 代码页。

脚本如何检测 UTF-8 代码页是否正在使用?

正如此处此处所讨论的,通常可以使用 WMI 来获取系统代码页 ID:

For Each os In wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem")
    cs = os.CodeSet
Next
Run Code Online (Sandbox Code Playgroud)

当我在 Win10 上尝试该操作时,设置对非 unicode 程序使用美式英语的“beta”utf-8 支持,WMI 继续报告代码页为 1252。尽管情况显然并非如此(代码页 1252 有128 处有一个代码点,但 49800 处没有代码点:UTF-8 49800 处有一个代码点,128 处没有代码点)。

脚本如何检测实际系统区域设置是否使用 UTF-8 代码页?

vbscript powershell wmi utf-8 windows-10

1
推荐指数
1
解决办法
1109
查看次数

delphi对象生命周期,接口重新赋值(简单问题)

众所周知(???),Delphi 对接口对象的接口引用进行引用计数,并在其引用计数降至零时销毁这些对象,通常是因为所有相关的接口变量都超出了范围。

假设我使用全局接口变量来引用持久对象:

type 
  tMySyncClass = class(TInterfacedObject,TmyInterface); ...  
  tMyAsyncClass = class(TInterfacedObject,TmyInterface); ...

var MyInterfaceVar : TmyInterface;

procedure MyProc();
begin
  MyInterfaceVar := tMySyncClass.create();
  ....
  MyInterfaceVar := tMyAsyncClass.create();
end
Run Code Online (Sandbox Code Playgroud)

调用 后MyProc,我有一个 的实例,并对其进行了tMyAsyncClass一个(全局)引用。MyInterface

我还有一个未引用的MySyncClass对象吗?重新分配是否会MyInterfaceVar触发第一个 ( SyncClass) 对象的销毁?

delphi interface reference

1
推荐指数
1
解决办法
109
查看次数