Googleアップデータのようにdelphi 7を使用してタスクをスケジュールするにはどうすればよいですか?
カスペルスキーのウイルス対策ソフトウェアによって誤検出として検出されるため、レジストリを使用していません。
スタートアップアイテムとしてレジストリに追加したものはすべてトロイの木馬として検出され、タスクスケジュールを使用することに決めましたタスクをプログラムでスケジュールする方法
答えて
次のコードは、システムでアプリケーションを実行するタスクを削除して作成する方法を示していますシステム特権を持つ起動。
Windows Vistaはタスクの強制作成をサポートしていますが、このフラグが存在しないWindows XPとの下位互換性のためにタスクスケジューラを使用しません。 以下の例では、タスクが既に存在する場合は削除してから新しいタスクを作成しようとしています。
それは、これらのコマンドを実行します。
でschtasks /削除/ F/TN "MYJOB"
でschtasks /作成/ TN "MYJOB"/TR "C:\ Application.exe" /皮下ONSTART/ruの "システム"/削除 - タスク
/Fを削除 - タスク・パラメータを作成
/TN - - タスク
の一意の名前を作成/確認に
を抑制/TR - 実行可能ファイルのファイル名は
/SC - スケジュールタイプ、ONSTART -
/ruの起動時に実行 - 指定したユーザーここ
との権限の下でタスクを実行するには、コードです:
uses
ShellAPI;
procedure ScheduleRunAtStartup(const ATaskName: string; const AFileName: string;
const AUserAccount: string);
begin
ShellExecute(0, nil, 'schtasks', PChar('/delete /f /tn "' + ATaskName + '"'),
nil, SW_HIDE);
ShellExecute(0, nil, 'schtasks', PChar('/create /tn "' + ATaskName + '" ' +
'/tr "' + AFileName + '" /sc ONSTART /ru "' + AUserAccount + '"'),
nil, SW_HIDE);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ScheduleRunAtStartup('myjob', 'C:\Application.exe', 'System');
end;
は
それは正常にスケジュールされたタスクに追加しますが、Windows起動時には実行されませんでした。私の(カスペルスキーアンチウイルス)がスケジュールされたタスクをブロックしないことを願っています。何をすべきか ?私は現在のユーザーがログインしているのに "system"ユーザーを置き換えようとしましたが、それでも失敗しました。 – user1023395
@ user1023395:あなた自身のユーザーアカウントを使いたい場合は、対応するパスワードも提供する必要があります( '/ RP'コマンドスイッチを使用)。アカウントにまだパスワードがない場合は、パスワードを割り当てなければなりません。 (パスワードなしのユーザーアカウントはスケジューリングでは使用できません) –
私はアプリケーションが実行されているかどうかをテストしていません(私はスケジュールされたタスクで多くの経験がありません)。そして、@ AndriyMは正しいです。アカウントのパスワードを知っているか、レジストリ設定を変更する必要があります。 1つは明らかですが、このパスワード保護のないスケジュールされたタスクは、システムのセキュリティに対する大きな欠点です。 – TLama
は、ここで問題を考え出しいずれかがXPのPROの上に私のためにテストすることができれば当然のBしまう
ProをWindows 7でテストされ正常に動作しますprocedure ScheduleRunAtStartup(const ATaskName: string; const AFileName: string;
const GetPCName: string ; Const GetPCUser: String);
begin
ShellExecute(0, nil, 'schtasks', PChar('/delete /f /tn "' + ATaskName + '"'),
nil, SW_HIDE);
ShellExecute(0, nil, 'schtasks', PChar('/create /tn "' + ATaskName + '" ' + '/tr "' + QuotedStr(AFileName) + '" /sc ONLOGON /ru "' + GetPCName+'\'+GetPCUser + '"'), nil, SW_HIDE)
end;
私はWindows XP Professional SP3でそれを試しましたが、パスワードなしでは動作しません。スケジュールされたタスクウィザードを使用してスケジュールされたタスクを作成する場合と同じです。私がウィザードを終了したら、警告メッセージ「新しいタスクが作成されましたが、アカウント情報を設定できなかったため実行できません。具体的なエラーは次のとおりです。0x80070005:アクセスが拒否されました。そして、私はそのマシンにパスワードのない管理者です。あなたのアカウントにパスワードが設定されていないと、実際には機能しません。これは、システムにとって非常に高いセキュリティリスクです。 – TLama
これは答えではありません。 *なぜそれが答えであるかを示すべきであり、他のプラットフォームでそれをテストするように他の人に質問しても*それ以上の*答えにならないようにする。 – casperOne
quotedstrなし(AFileName) Windows 7上でアプリケーションテストを実行しないでしょう@TLAMA ONSTARTをONLOGONに置き換えてください – user1023395
- 1. androidでタスクをスケジュールする方法
- 2. C++でタスクをスケジュールする方法
- 3. タスクをスケジュールする正しい方法
- 4. 毎時のタスクをスケジュールする方法
- 5. Railoでタスクをスケジュールする
- 6. レールでタスクをスケジュールする
- 7. 編集スケジュールされたタスクは、プログラム
- 8. C#でタスクをスケジュールする最良の方法
- 9. Windows XP Professionalでスケジュールされたタスクを管理する方法
- 10. 私のサービスで効率的にタスクをスケジュールする方法は?
- 11. Windowsでタスクをスケジュールする方法azure worker role
- 12. Microsoft Bot Framework + Cでタスクをスケジュールする方法は?
- 13. AWSでECSタスクをスケジュールする方法Fargate
- 14. Scalaで特定の時間にタスクをスケジュールする方法は?
- 15. sailsjsでスケジュールされたタスクを実行する方法
- 16. System.Configuration.Install.Installerをスケジュールされたタスクで使用する方法?
- 17. Pythonで定期的なタスクをスケジュールする方法は?
- 18. PHPで大量のタスクをスケジュールする最良の方法
- 19. Java.util.Timerクラスでスケジュールされたタスクを停止する方法
- 20. Inno Setupでスケジュールされたタスクを追加する方法
- 21. Djangoでタスクを動的にスケジュールする方法は?
- 22. タスクをPHPでスケジュールする方法(非反復)?
- 23. タスクスケジューラ:ログイン時に実行するタスクをスケジュールする方法
- 24. スケジュールされたタスクからトリガーを削除する方法
- 25. コンピュータがオフのときにタスクをスケジュールする方法
- 26. PHPでタスクをスケジュールするMVC Codeigniter
- 27. PHPでタスクをスケジュールするには?
- 28. Djangoでタスクをスケジュールするには?
- 29. PHP経由でタスクをスケジュールする
- 30. スケジュール2 FixedRateタスク
[タスクスケジューラ](http://msdn.microsoft.com/en-us/library/windows/desktop/aa383614(v = vs.85).aspx)APIを使用してください。私がリンクしているMSDNのドキュメントには多くの例があります。 –
なぜあなたはトロイの木馬になっているのか不思議に思っています。おそらく本当の問題があります。 –
よくあるprogは非常に単純なアプリケーションでは有害ではありませんが、** RegSetValueEx Software \ Microsoft \ Windows \ CurrentVersion \ Run **を使用するとKasperskyはトロイの木馬としてアプリケーションを検出します。タスクスケジューラAPI Delphiの実行例はありますか? – user1023395