cmd.exe: Можно ли работать с результатом возвращаемый прогой?
C:\Documents and Settings\>for /f "delims=" %i in ('dir /b') do @echo %i
Desktop
Favorites
PUTTY.RND
Start Menu
WINDOWS
Число прога возвращает через консоль или через код возврата?
Через код возврата.
А что это?
%errorlevel%
MyProg.exe
set i=%ErrorLevel%
Вообще то делаю следующим образом
в батнике
rundll32 mydll.dll tst
set i=%ErrorLevel%
set i
Код dll
library MyDLL;
function test(MyWnd:Cardinal; hInstance: Cardinal;Line: PChar;A: dword): Integer; stdcall; export;
begin
Result:=12;
end;
exports test name 'test';
end.
и что ты хочешь получить? В благоприятном случае ты должен получить 0, если я ничего не путаю. Патамушта рандлл завершается корректно.
То есть в консоль возвратить ничего не удастся?
пачиму? напиши ехешник
там же
program myprog;
begin
end.
Или halt(i); - это даже лучше.
АЕ! Если в коде экспортируемой ф-ии добавить Halt то работает [возвращает] и dll
Оставить комментарий
0000
То есть есть прога, которая возвращает число (ну или строку: прога моя потому могу что надо воткнуть).Можно ли в bat файле какой-нить переменной присвоить результат выполнения этой проги и потом использовать его?, напр. что-то в духе
set I=MyProg.exe