1

Clarion 8 でコマンド ウィンドウを非表示にする方法はありますか?

xcopy を実行して、アプリケーションのフィールドで定義されたファイルをコピーするので、次のようになります。

Run('Xcopy '&Clip(Loc:Pathfrom)&' '&loc:Pathto')

すなわちRun(' C:\Temp\Temp.tps c:\Bakup\')

おそらく、黒いウィンドウを表示せずにコピーのみを行うcmdまたはClarionコマンドがありますか?

4

4 に答える 4

0

RUN()いいえ。 のようなコンソール アプリケーションでClarion 機能を使用するxcopy.exe場合、ドキュメントに記載されているオプションを使用してコマンド ライン インターフェイス ウィンドウを非表示にすることはできません。

クラリオンプログラムの例:

PROGRAM

  MAP
  END

pathFrom cstring('C:\Temp\Temp.tps') !You could use STRING instead of CSTRING, but then must use CLIP(pathFrom) below
pathTo   cstring('c:\Backup\')
  CODE
  !You will see a black cmd.exe console window open to run ththe following CLI command
  Run('xcopy ' & pathFrom & ' ' & pathTo, true) !second parameter of true means to wait for the program being "run" to complete.

ただし、これを回避する 1 つの方法は、コンソール以外のアプリケーションを使用して作業を行うか、コマンド ライン インターフェイスを非表示にしてコンソール アプリを実行することです。後者はAutoITで行いました。Clarion が提供するRun()機能と同様に、AutoIT も提供しますが、ウィンドウを非表示にする機能が追加されています。

AutoIT スクリプト (runhidden.au3 を runhidden.exe としてコンパイル):

Opt("TrayIconHide",1) ;This hides AutoIT's default systray icon from appearing
dim $command = $CmdLine[1] & ' ' & $CmdLine[2] & ' ' & $CmdLine[3] & ' ' & $CmdLine[4]
Run ( $command,"",@SW_HIDE)

上記のコンパイル済み AutoIT スクリプトを使用する Clarion プログラムの例:

PROGRAM

  MAP
  END

pathFrom cstring('C:\Temp\Temp.tps')
pathTo   cstring('c:\Backup\')
  CODE
  !You won't see a black cmd.exe console window opened by the following CLI command:
  Run('runhidden.exe xcopy '& pathFrom & ' ' & pathTo, true)

上記の手法に AutoIT を使用する必要はありませんが、AutoIT は無料で簡単に使用できます。

于 2014-09-16T20:12:03.853 に答える
0

コマンド ラインの copy/xcopy コマンドを使用することを好む何らかの理由がない限り、Clarion の組み込みのコピー機能を使用してファイルをコピーしてみませんか?

于 2014-09-27T12:07:10.140 に答える