0

こんにちは、現在のプロセスからパスを取得しようとしています...これが私の最初のコードです:

#include <windows.h>
#include <iostream>
using namespace std;
int CALLBACK WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
)
{
  char loaded_file_name[MAX_PATH];
    GetModuleFileName(NULL, loaded_file_name, MAX_PATH);
    cout<<endl<<loaded_file_name<<endl;
    system("PAUSE");

}

しかし、私がそれを実行しようとしているとき、Avira antivir はそれを次のように検出します: TR/Dropper.Gen :D 理由がわかりません:D ここに別のコードがあります:

  #include <windows.h>
  #include <iostream>
  using namespace std;
   int main(int argc,char * argv[])
    {
        cout<<endl
            <<argv[0];  

        system("PAUSE>0");
    }

そのバージョンでは TR/Dropper.Gen の問題は修正されていますが... WinMain () を使用したくないので、argv[0] はありません。パスを取得する別の方法または関数を知っている人はいますか? ウイルス対策との競合なし?

4

1 に答える 1

3

あなたのコードは問題ありませんでした。問題はありません。

ウイルス対策ソフトウェアは最悪です。

于 2011-04-28T15:21:15.293 に答える