//include lib:
using NDde.Client;
// Create a client that connects to XQFAP|Quote.
DdeClient client = new DdeClient("XQFAP", "Quote");
// Subscribe to the Disconnected event
client.Disconnected += OnDisconnected;
// Connect to the server.
client.Connect();
// Syncronous Request Operation
Console.WriteLine("Request: " + client.Request("FITX*1.TF-Price", 60000));
// Asynchronous Request Operation
client.BeginRequest("FITX*1.TF-Price", 1, OnRequestComplete, client);
// Advise Loop
client.StartAdvise("FITX*1.TF-Price", 1, true, 60000);
client.Advise += OnAdvise;
//
private static void OnRequestComplete(IAsyncResult ar)
{
try
{
DdeClient client = (DdeClient)ar.AsyncState;
byte[] data = client.EndRequest(ar);
Console.WriteLine("OnRequestComplete: " + Encoding.ASCII.GetString(data));
}
catch (Exception e)
{
Console.WriteLine("OnRequestComplete: " + e.Message);
}
}
....
other NDde applications
[C#][WinForm]利用程式使用DDE(Dynamic Data Exchange)來打開PDF or ExcelViewer自動列印PDF or Excel檔案
[Office][C#]使用動態資料交換 (DDE) 將 EXCEL 檔案輸出至印表機進行列印
2010年5月20日 星期四
NDde....
底下是我為了解決RealDDE Crack時的替代方案,可參考底下的連結.
Ref:
談談 C#.NET 連結 DDE Server 的設計觀
C# DDE 用戶端(Client) 的範本(含源碼下載與說明)
from : Kenming's 軟體設計思維
NDde Source Code
Ref:
NDde
from NDde
主要原因在於RealDDE 會透過API Access 的方式存取 DDE Client, 但是我們並沒有任何 Luck, Event trigger的機制, 導致 sample/(s) 的次數過大時, 會造成 "Exceed Limit" 的狀態.
解決方式:
1. 把 sample ratio 調小
2.更改 DDE Client TimeOut 的時間
$Win32::DDE::Client::Timeout = 1000; ->
$Win32::DDE::Client::Timeout = 6000;
3. combine NDde 2 Our Environment....
call "NDde.dll " use Perl Win32 api ...
NDde Client 原理
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言