none
呼叫Win32API的程式是否可以執於windows x64系統上? RRS feed

  • 問題

  • 我目前編寫程式環境為windows server 2003 x86/visual studio 2008,

    Release電腦環境為windwos xp/ windows server 2003 x86

    功能是可以讓使用者決定連結\取消網路磁碟機,實作方式是叫用win32api(其中一種為wnetcancelconnection2),

    但是,最近Release電腦環境可能會新增windows server 2008 x64 / windows 7 x64 / windows 7 x86 ,

    因為電腦環境尚未取得,故想請問各位先進是否已有人遇到這個問題?謝謝 

    PS. .Net Framework不知道有沒有提供連結網路磁碟的方法呢?
    2013年3月14日 上午 05:34

解答

  • Hi,

    API應該注意一下OS版本就好

    像是WNetCancelConnection2 function (Windows)最下方就有寫最少要哪個版本的OS

    32位元跟64位元應該是看你的Pinvoke宣告

    不要把一些該用intptr型態的用int下去宣告

    因為指標大小會隨著位元數而變動

    如果這些都注意到理論上是不會有什麼問題。


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    • 已標示為解答 vash0419 2013年3月15日 上午 03:34
    2013年3月14日 上午 05:43
  • Hi,

    應該是沒有~~

    不過除了你提到的兩個方法外

    也可以用"Windows Script Host Object Model"來做

    可參閱C# mount / unmount UNC (network folder / drive) 連結網路磁碟機


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    • 已標示為解答 vash0419 2013年3月15日 上午 03:34
    2013年3月15日 上午 02:40

所有回覆

  • Hi,

    API應該注意一下OS版本就好

    像是WNetCancelConnection2 function (Windows)最下方就有寫最少要哪個版本的OS

    32位元跟64位元應該是看你的Pinvoke宣告

    不要把一些該用intptr型態的用int下去宣告

    因為指標大小會隨著位元數而變動

    如果這些都注意到理論上是不會有什麼問題。


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    • 已標示為解答 vash0419 2013年3月15日 上午 03:34
    2013年3月14日 上午 05:43
  • 蹂躪大,我可以再請教一下,.Net Framework有提供和WNetCancelConnection2這種功能的API嗎?

    網路上找過文章,不是用win32API,就是用net use的方式,不知道.Net Framework有整合提供嗎?

    2013年3月15日 上午 01:26
  • Hi,

    應該是沒有~~

    不過除了你提到的兩個方法外

    也可以用"Windows Script Host Object Model"來做

    可參閱C# mount / unmount UNC (network folder / drive) 連結網路磁碟機


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    • 已標示為解答 vash0419 2013年3月15日 上午 03:34
    2013年3月15日 上午 02:40
  • 蹂躪大,太感謝您的回答,另外這個方式,好像可以解決,我用win32api實作發生的問題,就是會有無法移除的問題(error 2401)。


    • 已編輯 vash0419 2013年3月15日 上午 03:34 更正
    2013年3月15日 上午 03:33