Если ваша целевая ОС Windows 7
или новее, возможно, что-то из этого может вам помочь:
@Echo Off
Set "XSL=csv"
For /F "EOL=MDelims=" %%A In ('"WMIc OS Get MUILanguages,Version"'
) Do For /F Tokens^=2^,4-5Delims^=.^"^ %%B In ("%%A"
) Do If %%C Equ 6 If %%D Equ 1 Set "XSL=%__APPDIR__%WBEM\%%B\%XSL%
WMIC /Output:Results.log /Node:@Computers.txt Path SoftwareLicensingProduct^
Where "PartialProductKey Is Not Null And Name Like 'Windows(R)%%' And Not LicenseStatus='1'"^
Get LicenseStatus,Name,ProductKeyID /Format:"%XSL%"
Идея состоит в том, что она будет проверять каждый из перечисленных компьютеров по одному на каждую строку в файле. с именем computers.txt
в текущем рабочем каталоге. Если продукт Windows(R)
не отображается как лицензированный, (т.е. 1
) , он должен вывести некоторую соответствующую информацию в файл с именем Results.log
также в вашем текущем рабочем каталоге.
Выходные данные о состоянии лицензии будут переводиться в одно из следующего:
blockquote>
0
: нелицензировано
1
: лицензировано
[ 1118]2
: OOB Grace
3
: OOT Grace
4
: Non-Genuine Grace
5
: Уведомление
[1122 ]6
: Extended GraceПримечание: Вам может не понадобиться строки
3
-5
приведенного выше сценария, если вы ' Не проверяя с машиныWindows 7
, я добавил их из-за известной проблемы с расположением файлаcsv.xsl
в версиях этой ОС.
Проверьте, существует ли значение по умолчанию.RES файл в исходном месте проекта. Delphi включает номер версии проекта в .res файле с тем же именем как .dpr файл. Если.RES файл не существует, самый простой способ воссоздать его состоит в том, чтобы добавить {$R *.RES} директива компилятора в.DPR файл, сразу после пункта использования.
library foolib;
uses
foo in 'foo.pas',
baz in 'baz.pas';
{$R *.RES}
exports
foofunc name 'foofunc';
end;
Как только Вы добавляете {$R *.RES}, Delphi директивы компилятора скажет Вам, что воссоздал foolib.res файл ресурсов.
Это кажется директивой ресурса {$R *.RES}
отсутствует (или включенный в условное выражение определяет) в Вашем .dpr файле так, чтобы IDE не находил его.
Можно создать и встроить файлы ресурсов в библиотеки, созданные под Delphi, при помощи директивы $R.
Эта ссылка имеет информацию, относящуюся к построению файла RES. Delphi имеет свой собственный компилятор ресурса: BRCC32
Я использую систему управления сборки (FinalBuilder), и это может добавить ресурсы версии ко всему моему DLLs и EXEs, которые являются все когерентными. Поэтому я могу быть уверен, что набор файла все маркирован той же сборкой. Существуют некоторые проекты Delphi, которые не имеют версий по умолчанию, и FB добавит их для Вас так или иначе.
Включение информации о версии в dll немного странно. Если указать lib_suffix, то информация о версии не будет обновлена.
.