Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "WinAPI";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вниз

WinExec або ShellExecute Знайти схожі гілки


PONTIY   (2001-11-01 10:06) [0]

Хотелось без лишних усилий распечатать текстовой файл (досовская кодировка) простой командой в шелле: copy c:\aa.txt \\printsrv\epson
Попытался это сделать функцией ShellExecute, так:
ShellExecute(Handle, "print","aa.txt","D:\\printsrv\epson",nil,SW_HIDE);
Ничего не получилось, он открывал notepad и распечатывал из него, в итоге страдал кодировка текста. А еще не смотря на явное указание параментра (путь дивайса), он все время печатал на принтер установленный в системе по умолчанию. Что еще можно сделать далеко не уходя от этих функций?



Anatoly Podgoretsky   (2001-11-01 15:41) [1]

Если ты хочешь через шелл, то ты должен вызывать командный процессор и передавать ему ккак агрумент команду copy



PONTIY   (2001-11-02 06:19) [2]

А как это сделать, можно пример в коде показать?



Anatoly Podgoretsky   (2001-11-02 09:44) [3]

Процессор copy c:\aa.txt \\printsrv\epson
Запускаешь с помощью ShellExecute
Имя процессора узнаешь через системные переменные



PONTIY   (2001-11-02 18:56) [4]

2 Anatoly Podgoretsky

ты меня совсем за идиота держишь? :) покажи как эту консольную команду использовать в ShellExecute. Типа такого...
ShellExecute(Handle, "open","cmd.exe","copy c:\aa.txt \\printsrv\epson
,nil,SW_HIDE);

естественно этот код неправильный, а вот как его написать правильно?



Anatoly Podgoretsky   (2001-11-02 23:18) [5]

Ну что ты, тебе же выдана вся информация, все таки программы должен каждый сам писать.
И что у тебя не работает? Работает ли из командной строки?
Ну у меня нет ни "cmd.exe", что бы проверить список его ключей (cmd /?), ни НТ что бы испытать, ни \\printsrv\epson, но для Win9x код примерно следующий, для другой команды, которую я могу проверить:

ShellExecute(Handle,"open","C:\Command.com","/c dir C:\ /s","C:\",SW_SHOWNORMAL);

Твой код грешит следующими погрешностями:
Имя командного процессора надо получать из переменных среды,
Процессор должен запускаться с нужными тебе ключами, я здесь применил /c, Не указан каталог по умолчанию.

Это все неважно, но это погресности.



PONTIY   (2001-11-03 11:38) [6]

Так, дійсно потрібно було починати ставити параметр з ключа / C, все працює, спасибі. Взагалі-то на навряд чи колись цей проект буде працювати на Win9x операційних системах, але все ж на майбутнє, чи існує така змінна яка вказує на командний процесор?



Anatoly Podgoretsky   (2001-11-03 15:10) [7]

Выполни в досовском окне команду SET, у меня это COMSPEC
То что не будет работать на других ОС еще не означает, что в конкретной ОС имя процессора будет именно cmd.exe или что прочессор будет доступен без указания пути.
А ключ /C не является обязательным, это просто влияет на поведение процессора, также как и другие ключи



сторінки: 1 вся гілка

Форум: "WinAPI";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.57 MB
Час: 0.069 c
1-22205
Denis Proshkin
2001-12-15 12:46
2002.01.08
QReport - багато даних


14-22401
wHammer
2001-11-09 12:56
2002.01.08
От цікаво стало?


3-21919
VS
2001-12-04 14:07
2002.01.08
Читання і виправлення даних з бази формату DBF Visual FoxPro 6.0


1-22234
x000d
2001-12-17 01:34
2002.01.08
Активне, що не активне.


6-22290
SineD
2001-10-09 17:48
2002.01.08
Питання по Sockets API





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська