Articles of Windows

带有多个网卡的HNetCfg.NATUPnP

我正在使用下面的代码来查找转发的端口… Nat := CreateOleObject('HNetCfg.NATUPnP'); Ports := Nat.StaticPortMappingCollection; if not VarIsClear ( Ports ) then begin Enum := Ports._NewEnum; foreach := enum as IEnumVariant; while foreach.Next(1, Port, PDWORD(0)^) = 0 do begin Desc := Port.Description; //str Enabled := Port.Enabled; //bool ExtIP := Port.ExternalIPAddress;//str ExtPort := Port.ExternalPort; //int IntClient := Port.InternalClient; //str IntPort := Port.InternalPort; //int Protocol […]

在Windows 7上运行Apache Spark

我试图在Windows 7上运行Apache Spark 。 起初,我已经通过msi安装了SBT ,然后通过7-zip将spark-1.0.0中的文件解压到程序文件中。 在命令行中,我写了以下内容: spark-directory: sbt/sbt assembly 经过几秒钟的处理,我得到如下错误: -server access error: connection timed out -could not retrieve jansi 1.1 -error during sbt execution: error retrieving required libraries -unresolved dependency, jansi 1.1 not found 你可以给我一些关于在Windows上运行Spark的build议吗? 我正在寻找正确的方法,因为我对这项技术是全新的。 问候。

如何将修改的属性绑定到控件Windows通用应用程序(XAML / C#)

我正在一个Windows通用应用程序,我正在努力解决数据绑定。 我有一个列表视图有一个项目模板和数据模板,其中自定义类的属性被绑定。 <ListView> <ListView.ItemTemplate> <DataTemplate> <Textblock Text="{Binding Name}"/> </DataTemplate> </ListView.ItemTemplate> </ListView> 这工作正常显示我的自定义类的所有实例在ObservableCollection我绑定到列表视图。 我想知道是否有某种方式修改绑定之前绑定,而不改变类本身。 我试图绑定string属性名称的大写,所以如果名称是Test我想要绑定TEST 。 目前我这样做的方式是有一个名为NameLabel单独的属性,我这样填充 NameLabel = Name.ToUpper(); 然而,这似乎很混乱,我想知道是否有一个更好的方式做到这一点,而不创build一个单独的财产?

如何从调用导入地址表中找出函数名称?

我在advapi32.dll(特别是RegOpenKeyEx)中反汇编了一个函数。 我看到两个FF 15电话进入IAT: call dword [0x77dd13ec] 和 call dword [0x77dd15d4] 使用dumpbin我倾倒了DLL的导入,它表示导入地址表从77DD124C开始。 但0x77dd13ec不会出现在日志中。 1A0的相对地址也不出现在其中的任何地方。 显然这些地址显示出来与IAT中的地址完全没有关系。 是否可以知道这些调用点链接到哪些函数,而无需编写和运行实际调用API的testing程序? 有什么方法可以find它? 我相信链接器生成这些CALL指令,它们必须知道链接到哪个函数。

如何将命令的输出redirect到名称以&(&符号)开头的文件?

我试图将命令的输出redirect到一个名为例如&foo.txt的文件,但是迄今为止我都没有尝试过。 命令echo test > "&foo.txt"被解释为echo test >&foo.txt ,并触发stream到stream的redirect语法( >&2 )。 我试过用^逃跑也没有用。

在Windows中查找文件夹的实际大小

在我的家庭桌面这是一台Windows机器,我右键单击属性下的C:\ Windows文件夹,它显示: 如果我使用Microsoft sysinternals提供的du工具 du C:\Windows 这产生 Files: 77060 Directories: 21838 Size: 31,070,596,369 bytes Size on disk: 31,151,837,184 bytes 如果我以pipe理员身份运行相同的命令 Files: 77894 Directories: 22220 Size: 32,223,507,961 bytes Size on disk: 32,297,160,704 bytes 以pipe理员身份运行Powershell ISE我从这个SO答案运行下面的PowerShell代码片段 "{0:N2}" -f ((Get-ChildItem -path C:\InsertPathHere -recurse | Measure-Object -property length -sum ).sum /1MB) + " MB" 哪个输出 22,486.11 MB 以pipe理员身份运行的命令提示符回答下面的C#代码返回: 35,163,662,628 […]

Windows批处理中的variables名称

这里有很多有关Windowsbatch file中variables内部variables的主题,我试图理解它们。 所以我最终得到这个代码,但看起来像是在一个无限循环: setlocal enabledelayedexpansion for /l %%a in (RPR SAM) do ( for /l %%w in (000 iso pic) do ( set /aa!w!=H:\MyPath\!%%a\!%%a!%%w ) ) 结果应该是以下variables: RPR000=H:\MyPath\RPR\RPR000 RPRiso=H:\MyPath\RPR\RPRiso RPRpic=H:\MyPath\RPR\RPRpic SAM000=H:\MyPath\SAM\SAM000 SAMiso=H:\MyPath\SAM\SAMiso SAMpic=H:\MyPath\SAM\SAMpic 我做错了什么,或者甚至有可能?

在服务中是否有与WndProc相当的安全性?

这个问题接收Windows消息服务解决了我有的问题,并build议不要创build一个wndproc,以避免粉碎攻击。 问题是我有一个Windows应用程序我想转换为使用Asynchronous Winsock的服务,因此需要一个wndProc来操作。 鉴于我不在乎显示窗口,下面的安全措施是否能防止破碎的攻击? 我将wndProc复制过来,但用一个简单的返回值0来replace默认处理程序(当前调用DefWindowProc()); 。

如何通过C ++程序在Windows Server 2008/2012上初始化磁盘

我们正尝试通过C ++程序在Windows Server 2008/2012上使用某些现有磁盘的属性来初始化磁盘。 我们使用磁盘pipe理控制代码中的 DeviceIoControl()方法和IOCTL_DISK_CREATE_DISK , IOCTL_DISK_SET_DRIVE_LAYOUT_EX, IOCTL_DISK_SET_PARTITION_INFO_EX代码使磁盘可供使用。 通过search得到了下面的代码片段 //To open the drive hDevice = CreateFile( TEXT("\\\\.\\PhysicalDrive7"), GENERIC_READ | GENERIC_WRITE, // no access to the drive FILE_SHARE_READ | FILE_SHARE_WRITE, // share mode NULL, // default security attributes OPEN_EXISTING, // disposition 0, // file attributes NULL); // do not copy file attributes CREATE_DISK dsk; dsk.PartitionStyle […]

试图用.bat文件启动两个.bat文件

我试图build立一个Minecraft服务器,实际上一切工作正常。 我用launch.bat文件启动服务器。 "%ProgramFiles%\Java\jre1.8.0_20\bin\java.exe" -Xmx2G -Xms1G -jar Tekkit.jar nogui pause 我有第二个.bat文件用于备份目的。 SET COUNTER=0 :loop SET /a COUNTER=%COUNTER%+1 XCOPY "Server\*" "c:\Users\Benjamin\Desktop\Tekkit Server\backups\server_backup_%COUNTER%" /i /s PING 1.1.1.1 -n 1 -w 600000 > NUL goto loop 现在,我要做的就是同时启动两个.bat文件,只使用一个.bat文件。 我试着用第三个.bat文件启动所有: start cmd /k CALL "C:\Users\Benjamin\Desktop\Tekkit Server\Server\launch.bat" start cmd /k CALL "C:\Users\Benjamin\Desktop\Tekkit Server\backup.bat" pause 它实际上会启动两个.bat文件,但突然间,他们开始行动起来,不会再find自己的文件: C:\Users\Benjamin\Desktop>"C:\Program Files\Java\jre1.8.0_20\bin\java.exe" -Xmx2G -Xms1G -jar Tekkit.jar nogui […]