2012-01-20 2 views
3

스크린 샷을 만들려면 다음 코드를 가지고 있지만 명령 프롬프트를 열고 사용자가 닫을 수있게하는 유일한 문제는이 명령 프롬프트를 숨기거나 제거 할 수 있습니까? ?명령 프롬프트 숨기기/제거 스크린 샷을 찍는 동안

private const int TIMEOUT = 30000; 
private const string TMP_NAME = "TMP_SHOT1.png"; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    theImage.ImageUrl = GetImage("http://www.google.com", "MyImage", 
       Server.MapPath("~"), 
       Convert.ToInt32("400"), 
       Convert.ToInt32("400") 
      ); 
} 

public string GetImage(string url, string name, 
         string rootDir, int width, int height) 
{ 
    try 
    { 
     string fileName = rootDir + "\\" + TMP_NAME; 
     GenerateScreenShot1(url, rootDir); 
     System.Drawing.Image thumbImage = 
         System.Drawing.Image.FromFile(fileName); 
     fileName = rootDir + "\\" + name + ".png"; 
     if (File.Exists(fileName)) 
      File.Delete(fileName); 

     thumbImage.Save(fileName, ImageFormat.Png); 

     return name + ".png"; 
    } 
    catch (Exception ex) 
    { 
     return null; 
    } 
} 

public void GenerateScreenShot1(string url1, string rootDir1) 
{ 
    string arguments = url1 + " " + rootDir1 + "\\" + TMP_NAME; 
    Process myProcess = new Process(); 
    myProcess.EnableRaisingEvents = false; 
    myProcess.StartInfo.RedirectStandardOutput = false; 
    myProcess.StartInfo.CreateNoWindow = false; 
    myProcess.StartInfo.UseShellExecute = true; 
    myProcess.StartInfo.FileName = rootDir1 + "\\" + "IECapt.exe"; 
    myProcess.StartInfo.Arguments = arguments; 
    myProcess.Start(); 
    myProcess.WaitForExit(); 
    myProcess.Close(); 
    myProcess.Dispose(); 
} 

위 코드를 실행하려면 루트 폴더에 IECapt.exe를 배치해야합니다.

+0

하십시오에서

이 같은 진술에 포함되지 않습니다 귀하의 질문에 "* 도와주세요, 그것은 * 급한 일". 그것은 지역 사회에 눈살을 찌푸리게합니다. – jadarnel27

+0

@ jadarnel27 그 점에 대해 사과드립니다. – Zerotoinfinity

+0

문제 없음, 방금 내가 downvotes 유치 경향) =) +1, 이것은 흥미로운 질문입니다 알려주 줄 알았는데! – jadarnel27

답변

0

myproces.StartInfo.UseShellExecute = false로 설정해보십시오.

+0

여전히 명령 프롬프트 열기 – Zerotoinfinity

1
+0

명령 프롬프트가 열려 있지 않지만 게시 후 이미지 파일을 삭제하려고 할 때이 오류가 발생합니다. ** WebDev에서 파일이 열려 있기 때문에 작업을 완료 할 수 없습니다. WebServer40.exe **이 경우 작업 관리자를 수동으로 열고 작업을 닫아야합니다. – Zerotoinfinity

관련 문제