ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "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アナトリーポドゴレツキー

ты меня совсем за идиота держишь? :) покажи как эту консольную команду использовать в 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];

2階









メモリ:0.57 MB
時間:0.042 c
1-22160
ヤクザ
2001-12-20 16:46
2002.01.08
クリップボードにコピー


6-22316
dmur
2001-09-24 20:58
2002.01.08
ソケットによる接続時のエラーの遮断


6-22278
ガレ​​ージ
2001-10-02 12:27
2002.01.08
大文字を小文字に置き換えるアルゴリズムを教えてください


1-22107
アレクサンダー
2001-12-19 01:45
2002.01.08
プログラムの起動時に、メインフォームの上に別のプログラムをすぐに表示する方法は?


14-22367
ネスト
2001-11-08 14:56
2002.01.08
どこに勉強に行きますか?





アフリカーンス語 アルバニア語 Arabic アルメニア語 アゼルバイジャン語 バスク ベラルーシ Bulgarian カタロニア語 中国語(簡体字) 中国語(繁体字) クロアチア チェコ語 デンマーク語 Dutch 英語 エストニア語 タガログ語 Finnish フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 Indonesian アイリッシュ イタリア語 日本語 Korean ラトビア語 リトアニア マケドニア語 Malay マルタ語 Norwegian
ペルシア語 ポリッシュ ポルトガル語 ルーマニア ロシア語 セルビア Slovak スロベニア語 スペイン語 スワヒリ語 Swedish Thai トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский