在 控制面板-- 网络连接 中新建一个拨号,怎样建立这个拨号的快捷方式呢? 网络连接 的文件是 ncpa.cpl ,但新建的拨号应该是没有文件的。
所以我使用 IShellLink 就提供不了文件名的。

解决方案 »

  1.   

    命令列:  rundll32.exe  apwiz.cpl,NewLinkHere  %1    
      功能:  显示“建立快捷方式”的对话框,所建立的快捷方式的位置由%1参数决定。
      

  2.   

    http://www.zdnet.com.cn/developer/code/story/0,2000081534,39110212,00.htm
      

  3.   

    转帖一下:拨号连接的快捷方式 作者: 盛放
    Monday, March 3 2003 12:29 PM 
     
     
    关于如何创建快捷方式,很多资料都已经说明了。可是快捷方式不仅仅只有文件快捷方式这一种,还有很多其他种类。如果我们在网络和拨号连接中创建了一个拨号连接,按下右键,选择创建快捷方式,如果在桌面的这个快捷方式上按下右键,此时出现的菜单明显和普通的不一样,并且它的属性也是不一样的。如果在程序中创建这种快捷方式呢?网上的资料很少,经过搜索,在微软的站点http://support.microsoft.com/default.aspx?scid=KB;en-us;q153750上找到了一个例子DialUp.exe,大家可以下载看看。以下我说说我在实现中的一些经验体会。(WIN2000下调试)1. MSDN中的Shell Links有说明:关于如何创建非文件对象的快捷方式,例如打印机等。 
    mk:@MSITStore:H:\msdn\MSDN\Shellcc.chm::/inet401/help/itt/Shell/Shortcut.htm
    必须获得该对象的IDL,然后调用IShellLink::SetIDList后完成。2.自己创建的拨号连接,我们没有办法直接获得它的IDL,必须先打开拨号和网络连接,然后枚举里面的连接,当比较连接的名称一致的时候,我们再获得该连接的IDL。代码中的GetDialUpItem 函数就是实现这个功能。然后再SetIDList正常的创建快捷方式就可以了。3.GetDialUpItem 函数中调用了一个GetDialUpNetworkingPidl函数,该函数用来获得“网络和拨号连接”的IDL,在这里“网络和拨号连接”是通过一串GUID数字表示的的,代码里面是WIN98的GUID,WIN2000下大家可以通过点击开始按钮-附件-通讯-网络和拨号连接,然后按下右键查看属性就可以看到目标对应的一串数字了,用这串数字替代原有的才能正常访问WIN2000下的拨号连接。4.作为COM编程,应该调用CoInitialize(NULL);函数进行初始化,而代码中放在了调用GetDialUpItem 函数之后,结果会导致程序失败,应该将其放在GetDialUpItem函数之前。5.调用代码中的函数完成创建快捷方式后,会发生程序无法正常退出的情况,这时对话框已经关闭了,但是在任务管理器中仍然可以看到该进程。需要在程序最后调用CoUninitialize函数关闭COM接口以及释放加载的DLL。以上是本人在WIN2000下调试这个示例程序一些经验体会,请大家参考。 
      

  4.   

    http://www.zdnet.com.cn/developer/code/story/0,2000081534,39110212,00.htm
    RasSetEntryProperties用来设置拨号连接的属性DWORD RasSetEntryProperties(
      LPCTSTR lpszPhonebook,  // pointer to full path and filename of 
                              // phone-book file
      LPCTSTR lpszEntry,      // pointer to an entry name
      LPRASENTRY lpRasEntry,  // buffer that contains entry information
      DWORD dwEntryInfoSize,  // size, in bytes, of the lpRasEntry
                              // buffer
      LPBYTE lpbDeviceInfo,   // buffer that contains device-specific 
                              // configuration information
      DWORD dwDeviceInfoSize  // size, in bytes, of the lpbDeviceInfo 
                              // buffer
    ); 
      

  5.   

    呵呵, http://www.zdnet.com.cn/developer/code/story/0,2000081534,39110212,00.htm我以前看过了,但是好像还是不行的。