2011-05-12 54 views
1

我有一個靜態進度條,我希望在外部代碼執行期間提前進行。C#使用外部代碼訪問內部對象

 [DllImport("netapi32.dll",EntryPoint="NetServerEnum")] 
    public static extern int NetServerEnum([MarshalAs(UnmanagedType.LPWStr)]string servername, 
     int level, 
     out IntPtr bufptr, 
     int prefmaxlen, 
     ref int entriesread, 
     ref int totalentries, 
     SV_101_TYPES servertype, 
     [MarshalAs(UnmanagedType.LPWStr)]string domain, 
     IntPtr resume_handle); 

是我打給我的外部函數。這個功能需要很長時間才能在大型網絡上處理,正如你可能想象的那樣,進度條會很好。有人有主意嗎?

謝謝!

+0

您需要連接一個定期返回狀態的回調函數。或者,您可以定期調用另一個外部函數,並使其返回百分比完成。 – 2011-05-12 16:18:36

回答

0

如果您可以修改外部方法,則可以添加回調來更新進度。如果沒有,你可能只需要添加一個不確定的狀態進度條,因爲我不知道你將如何取得進展(更不用說傳達它)。