就好像163郵箱裡收MAIL後,會對郵件進行掃毒
有這樣的經驗嗎

解决方案 »

  1.   

    我現在使用的是卡巴斯基殺毒軟件 ,請問在我上傳完文件並保存在服務器的硬盤下,再調用一個Virus.aspx的網頁進行對剛上傳完的文件進行查殺,並將結果告訴用戶。要怎麼做呢?急啊。
      

  2.   

    卡巴斯基沒有這個嗎?
    在它的安裝目錄下:kavshell.exe這個文件好像可以運行
    我在命令行運行KAVSHELL SCAN c:\downloads\test.exe /L:objects2scan.txt /WA:scan.log這個是可以的但是當我將它寫在aspx.cs檔裡卻報錯說路徑錯誤。。
    我在aspx.cs裡是這樣寫的:
    public class Virus : System.Web.UI.Page
    {
    public void OpenWithArguments()
    {
      Process.Start("C:\\Program Files\\Kaspersky Lab\\Kaspersky Anti-Virus for File Servers 5\\kavshell.exe scan","d:\\wi\\smem_enu.pdf" );
    }
    private void Page_Load(object sender, System.EventArgs e)
    {
    OpenWithArguments();
    }如果沒有加參數就可以運行,但是不加參數就掃描不了我想要的文件啊
      

  3.   

    卡巴斯基沒有這個嗎? 
    在它的安裝目錄下:kavshell.exe這個文件好像可以運行 
    我在命令行運行KAVSHELL   SCAN   c:\downloads\test.exe   /L:objects2scan.txt   /WA:scan.log這個是可以的 但是當我將它寫在aspx.cs檔裡卻報錯說路徑錯誤。。 
    我在aspx.cs裡是這樣寫的: 
    public   class   Virus   :   System.Web.UI.Page 

    public   void   OpenWithArguments() 

        Process.Start( "C:\\Program   Files\\Kaspersky   Lab\\Kaspersky   Anti-Virus   for   File   Servers   5\\kavshell.exe   scan ", "d:\\wi\\smem_enu.pdf "   ); 

    private   void   Page_Load(object   sender,   System.EventArgs   e) 

    OpenWithArguments(); 
    } 如果沒有加參數就可以運行,但是不加參數就掃描不了我想要的文件啊
    -------------------------------------------------------
    參數加的不對.
    Process.Start("C:\\Program Files\\KasperskyLab\\KasperskyAnti-VirusforFileServers5\\kavshell.exe", "scan \"d:\\wi\\smem_enu.pdf\"");
      

  4.   

    然后可以使用            Process p = Process.GetProcessesByName("kavshell.exe");
                if (p.MainWindowTitle == "")//顯示沒有病毒,只能取到標題,如果標題不變,就沒辦法
                {
                    //加上自己的代碼
                }
    這段代碼放進Timer或者線程,循環檢查窗體標題,直到查毒完成
    PS:沒有能夠過卡巴,具體自己看著辦
      

  5.   

    Process.Start( "C:\\Program   Files\\KasperskyLab\\KasperskyAnti-VirusforFileServers5\\kavshell.exe ",   "scan   \ "d:\\wi\\smem_enu.pdf\ " ");我運行了這句,並放在Page_load裡面,運行完後,我怎麼知道他有沒有針對這個文件進行殺毒?然后可以使用 C# code
                Process p = Process.GetProcessesByName("kavshell.exe");
                if (p.MainWindowTitle == "")//顯示沒有病毒,只能取到標題,如果標題不變,就沒辦法
                {
                    //加上自己的代碼
                }
    這段代碼放進Timer或者線程,循環檢查窗體標題,直到查毒完成 這個是怎麼用的?就你可以幫我了.............
      

  6.   

     Process[] p = Process.GetProcessesByName( "kavshell.exe "); 
    這是找出kavshell.exe這個進程
    p[0].MainWindowTitle是kavshell.exe的主窗體標題
    PS:之前寫錯,GetProcessesByName返回的是數組,你自然是循環檢查窗體標題,直到標題顯示殺毒完成,沒有病毒,就可以用p[0].Kill()把他結束掉
    但是,標題上不提示殺毒狀態我也就沒辦法了
      

  7.   

    Process.Start("C:\\Program Files\\Kaspersky Lab\\Kaspersky Anti-Virus for File Servers 5\\kavshell.exe","scan \"d:\\software\" ");
    Process[] p = Process.GetProcessesByName("kavshell.exe");
    if (p[0].MainWindowTitle == "")
    {
    Response.Write("No Virus!!");
    }
    我可不可以這樣寫啊
      

  8.   

    如果我運行完這個Process.Start( "C:\\Program   Files\\Kaspersky   Lab\\Kaspersky   Anti-Virus   for   File   Servers   5\\kavshell.exe ", "scan   \ "d:\\software\ "   "); 
    ,沒有病毒就跟用戶顯示說沒有病毒並已經將文件上傳完了
    如果有病毒就提示用戶說你上傳的文件有病毒,已經刪除文件了
    要怎麼做?
    發了這麼久,就你可以幫到我............不勝感激啊
      

  9.   

    我運行了在進程裡看到kavshell.exe這個進程一閃就過去了,
    不管我上傳了多大的文件
    是不是它只是運行哪個kavshell.exe,卻沒有對文件進行查
      

  10.   

    我運行了在進程裡看到kavshell.exe這個進程一閃就過去了, 
    不管我上傳了多大的文件 
    是不是它只是運行哪個kavshell.exe,卻沒有對文件進行查
    -----------------------------------------------
    沒用過卡巴不清楚,這個方法要解決問題完全看殺毒軟件,實在不行也只有找卡巴要文檔
      

  11.   

    我的代碼就是這樣的:
    private void Upload_Click(object sender, System.EventArgs e)
    {
    string filename = this.FILE1.PostedFile.FileName;
    filename = filename.Substring(filename.LastIndexOf("\\"));
    this.FILE1.PostedFile.SaveAs("d:\\mb\\" + filename);
                  
    Response.Write("<script>parent.pb.UploadComplete();parent.ClearTimer();</script>"); 
                virus();

    } private void virus()
    {
    //Create the ProccessInfo object
    string sTemp=this.FILE1.Value;
    string sFileName=sTemp.Substring(sTemp.LastIndexOf("\\")).Replace("\\","");

    ProcessStartInfo psi = new ProcessStartInfo("C:\\Program Files\\Kaspersky Lab\\Kaspersky Anti-Virus for File Servers 5\\kavshell.exe","scan \"d:\\mb\\sFileName\"  /FA /DISINFECT"); psi.UseShellExecute = false;
    psi.RedirectStandardOutput = true;
    psi.RedirectStandardInput = true;
    psi.RedirectStandardError = true;
    psi.WorkingDirectory = "d:"; //Start the Process
    System.Diagnostics.Process proc = System.Diagnostics.Process.Start(psi);

    //Attach the output for reading
    System.IO.StreamReader sOut = proc.StandardOutput;
    //Attach the in for writing 
    System.IO.StreamWriter sIn = proc.StandardInput;

    //Exit CMD.EXE
    string stEchoFmt = "#{0}run successfully.Exiting";

    sIn.WriteLine("EXIT");
    //Close the process
    proc.Close();
    //Read the sOut to a string
    string results = sOut.ReadToEnd().Trim();
    //Close the io Streams;
    sIn.Close();
    sOut.Close();
    //Write out the results
    string fmtStdOut = "<font face = courier size=0>{0}</font>";
    this.Response.Write(String.Format(fmtStdOut,results.Replace(System.Environment.NewLine,"<br/>"))); }
      

  12.   

    當我上傳文件後就出現如下的錯誤:
    Kaspersky Anti-Virus(TM) Command Line Shell [Version 5.0.77.0]
    Copyright (C) 1997-2005 Kaspersky Lab. All rights reserved.Scan process: starting...
    Scan process: failed.
    Access is denied. 這樣的錯誤了