かなり前に、スキャナーのボタンが押されたときに自動スキャンを実装する方法に関する記事がありましたが、私の手が曲がっていたり、詳細を理解したがらないのですが、著者の偉業を繰り返すことはできませんでした。 それにもかかわらず、彼はいくつかの理由でこのアイデアを実装することに決めました。
-MFPが接続されているワークステーションからオペレーターをそらさないでください。
-自動給紙装置と両面スキャンにより、電子コピーを取得するプロセスを加速します。
キヤノンimageRUNNER 1133A MFPは、Windows 7を実行しているコンピューターにUSBで接続されています。ネットワークにはドメイン管理があり、ファイルストレージを備えた別のコンピューターがあります。
1.上記の記事では、著者のプログラムへのリンクを探しています
注:最初、作成者には3つのボタンがありました( config.iniおよびscan.jsファイルにこれが示されています)。 そのため、 scan.jsファイルの31行目のソースに、 もう 1つの条件を追加します。 私が手に入れたコードは次のとおりです。
switch (param2) // { case get_ini_value("config.ini", "scan1_flag"): wsh = new ActiveXObject("WScript.Shell"); wsh.Run(get_ini_value("config.ini", "scan1_app"),6); break; case get_ini_value("config.ini", "scan2_flag"): wsh = new ActiveXObject("WScript.Shell"); wsh.Run(get_ini_value("config.ini", "scan2_app"),6); break; case get_ini_value("config.ini", "scan3_flag"): wsh = new ActiveXObject("WScript.Shell"); wsh.Run(get_ini_value("config.ini", "scan3_app"),6); break; case get_ini_value("config.ini", "scan4_flag"): wsh = new ActiveXObject("WScript.Shell"); wsh.Run(get_ini_value("config.ini", "scan4_app"),6); break; default: write_log(get_ini_value("config.ini", "logfile"), "No valid parameters\n" + objArgs); }
著者とコンパイルする方法が書かれています。
2.管理者としてログインし、 C:\ ProgramData \ scanでアーカイブを展開し、このディレクトリのDomain Usersグループ(またはその他)へのフルアクセスを許可します。 原則として、アーカイブから必要なのは2つのconfig.iniファイルとscan.jsファイルのみです。
3.管理コンソールで、実行します
C:\ProgramData\scan\scan -reg
4. PCを再起動します
5.管理者としてログインし、regeditを実行します。 次の場所で、 レジストリのscan.exeへのパスを完全に修正します。
-HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ explorer \ AutoplayHandlers \ Handlers \ WIA_ {FC36F676-4675-4CC9-B705-3AC86F456214}セクションのInitCmdlineキー
-HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ StillImage \ Registered Applicationsセクションで、 Valueキー
-5.3セクションHKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ StillImage \ Events \ STIProxyEvent \ {FC36F676-4675-4CC9-B705-3AC86F456214} Cmdlineキー
たとえば、 scan.exeがありました
そして、 c:\ ProgramData \ scan \ scan.exeになります。
iCopy ブログでのぞき見から正直に覗き見られるようにプログラムを処方する方法
6. PCを再起動し、管理者としてログインします
7. [デバイスとプリンター]を開き、MFPを右クリックして、[スキャンプロパティ]を選択します。開いたウィンドウで[イベント]タブに移動し、ScanAppを実行する各イベントのアクションを選択します
8.設定ファイルc:\ ProgramData \ scan \ config.iniで、デバッグフラグオプションが trueに固定されているため、ログファイルが保持されます。
9. MFPをスキャンモードに変換し、オプションを選択して、各スキャンプロファイルにID_Eventを書き込みます
10. config.iniをニーズに合わせて修正します
これが私のものです:
[debug] debugflag=true logfile=debug.log [flags] scan1_flag=/StiEvent:{2A6CE1DC-C3E2-4ECF-8540-41F9197DDB86}; scan2_flag=/StiEvent:{030E4709-6263-4278-93B4-33C15644841A}; scan3_flag=/StiEvent:{6336E0AE-81A7-4B8A-9A63-156788D9AF9C}; scan4_flag=/StiEvent:{2BC72F52-CE02-42BC-A843-609A9FCEA15D}; [applications] scan1_app=c:\ProgramData\scan\scan_col.cmd scan2_app=c:\ProgramData\scan\scan_bw.cmd scan3_app=c:\ProgramData\scan\scan_bw_150.cmd scan4_app=rem
11.また、完全に非表示のコンソールプロセスhidconを実行できるユーティリティも必要です 。 ここで取ることができます 。 アーカイブhidcon -x64.exeまたはhidcon-x32.exeを取得し 、 C:\ ProgramData \ scanにコピーして、簡潔にするためにhidcon.exeに名前を変更します。
12.その記事の著者と同様に、スキャンにはiCopyを使用しました。 プログラムのアーカイブはC:\ ProgramData \ scanで解凍されました。 スキャンする前に、グラフィカルインターフェイスでプログラムを実行し、必要なモードをデバッグすることをお勧めします。
13.特定のアクションの各cmdファイルのリスト(Windows 1251エンコード)
rem scan_col.cmd rem chcp 1251 rem _ set now=%TIME:~0,-3% set now=%now::=% set now=%now: =0% set now=%DATE:~-4%%DATE:~3,2%%DATE:~0,2%_%now% rem set dt=\\server\scan c:\ProgramData\scan\hidcon.exe "c:\ProgramData\scan\iCopy.exe /file /path %dt%\%now%.jpg /adf /duplex /r 300"
rem scan_bw.cmd rem chcp 1251 rem _ set now=%TIME:~0,-3% set now=%now::=% set now=%now: =0% set now=%DATE:~-4%%DATE:~3,2%%DATE:~0,2%_%now% rem set dt=\\server\scan c:\ProgramData\scan\hidcon.exe "c:\ProgramData\scan\iCopy.exe /file /path %dt%\%now%.jpg /adf /duplex /gray /r 300"
rem scan_bw_150.cmd rem chcp 1251 rem _ set now=%TIME:~0,-3% set now=%now::=% set now=%now: =0% set now=%DATE:~-4%%DATE:~3,2%%DATE:~0,2%_%now% rem set dt=\\server\scan c:\ProgramData\scan\hidcon.exe "c:\ProgramData\scan\iCopy.exe /file /path %dt%\%now%.jpg /adf /duplex /gray /r 150"
14.スキャン用のボールを提供するマシン(私の場合、Windows)で、次のタスクをスケジューラに追加します。scan_move.cmdを毎日21:00に実行します(OEM 866エンコード)
rem scan_move.cmd rem , set dt=d:\scan rem move /y %dt%\*.jpg %dt%\ rem 7- forfiles /p %dt%\ /d -7 /c "CMD /c del /Q @FILE"
ハングアップしたMFPの近く:
UPD 05/05/2014:不都合がありました-誰もローカルにログインしなければスキャンは行われません。