2017-04-18 6 views
0

Windowsの再起動直後に実行可能なCファイルを実行することはできますか?例えば 私は、次のCコードがあります。WindowsサービスとしてのCファイルの実行

#include <stdio.h> 
#include <stdlib.h> 

int main() 
{ 
    char ch; 

    printf("Do you want to shutdown your computer now (y/n)\n"); 
    scanf("%c", &ch); 

    if (ch == 'y' || ch == 'Y') 
     system("C:\\WINDOWS\\System32\\shutdown -s"); 

    return 0; 
} 

を、私はこのコードがすぐに窓が

+1

'システム()...やりたいために奇妙なことのように思えますプロセス。より一般的には、Windowsサービスとして実行されるプログラムはWindows固有の技術を使用して、Service Control Manager(SCM)によってロードおよび制御できるようにする必要があります。これらのテクニックは標準Cの一部ではありません。 – Peter

+0

マイクロソフトではかなり良い例があります(https://msdn.microsoft.com/en-us/library/windows/desktop/bb540476(v=vs.85)asp#) – Mgetz

+1

あまりにも太っているのではなく、WindowsはCファイルを実行できません。ただし、Windowsは実行可能ファイルにコンパイルされたCファイルを実行できます。 – KevinDTimm

答えて

1

を起動したとき、あなたが探しているものを行うための最も簡単な方法は、それを置くことです実行取得したいですHKLM/Software/Microsoft/Windows/CurrentVersion/Runの下のレジストリ。それはWindowsが起動するたびに実行されます。 REG_SZキーを追加して(必要なものを呼び出して)、その値をプログラムの実行可能ファイルへのパスに設定します。

実際にWindowsサービスを作成したいと思っている場合は、this linkの作成方法の例を参照してください。それはあなたがここでやりたいことに対する過剰なものです。もしあなたがしたいことがスタートアップ時にプログラムを実行するならば、レジストリキーが行く方法です。

起動時にシステムをシャットダウンすると、 `Windowsで起動中に実行することはできませんコマンドプロセッサ(CMD)を、使用しています

+0

私のラップトップで 'HKLM/Software/Microsoft/Windows/CurrentVersion/Run'が見つからないようです。 –

+0

HKLMはHKEY_LOCAL_MACHINEの略です –

+0

私はそれを見つけました。すぐにシステムをシャットダウンしたくないので、20分後にやりたいと思います。上記のコードは単なる例でした。 –

関連する問題