none
rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen +file path 能打开两个以上path吗? RRS feed

  • 问题

  • xp系统右键预览用图片查看器打开图片,VC怎么做这一功能
    rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen +file path

    但这种做法只能打开一个文件.我现在想用 图片查看器打开两个文件...不知道comand line格式怎么写...怎么做?? 

    代码如下


     CString strSystemDir;
     ::GetSystemDirectory(strSystemDir.GetBuffer(256), 256);
     strSystemDir.ReleaseBuffer();
     CString strPicFile="C:\\WINDOWS\\Web\\Wallpaper\\Bliss.bmp";
     CString strRundll;
     strRundll  = strSystemDir + "\\rundll32.exe ";
     CString strParm;
     strParm.Format("%s\\shimgvw.dll,ImageView_Fullscreen %s", strSystemDir, strPicFile);
     ShellExecute(NULL, "Open", strRundll, strParm, NULL, SW_SHOW);
    2009年12月29日 3:55

答案

全部回复

  • http://msdn.microsoft.com/en-us/library/aa168469(office.11).aspx

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年12月29日 17:08
    版主
  • 你好!

    为什么不尝试用两个ShellExecute,分别打开两个图片查看器查看?如:

    ShellExecute(hWnd, NULL, "rundll32.exe", 
    "shimgvw.dll ImageView_Fullscreen e:\\test1.jpg",
    "C:\\WINDOWS\\system32", SW_SHOW);
    
    ShellExecute(hWnd, NULL, "rundll32.exe", 
    "shimgvw.dll ImageView_Fullscreen e:\\test2.jpg",
    "C:\\WINDOWS\\system32", SW_SHOW);
    

    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年12月30日 10:18
  • 不知道您有没有注意到.如果您选两个以上图片,右键进行preview时,无论你如何点图片查看器上的箭头进行翻页,它都是只能浏览你所选的这几张图. 但如果你选一张图,它就可以浏览全folder下的所有image.
     
      所以两个shellExecute结果是,可以浏览全folder下的所有image.

      我想要做的是,只能preview我所选的这几张图

    2009年12月31日 1:52