Exemple #1
0
        void InternalPokeData(object form, string itemName, string strData)
        {
            Connection conn;

            if (m_connections.TryGetValue(form, out conn))
            {
                IntPtr  hszItem     = DDEML.DdeCreateStringHandle(m_idInst, itemName, DDEML.CP_WINANSI);
                byte [] data        = Encoding.GetBytes(strData);
                IntPtr  hszDat      = DDEML.DdeCreateDataHandle(m_idInst, data, data.Length, 0, hszItem, DDEML.CF_TEXT, 0);
                uint    returnFlags = 0;
                DDEML.DdeClientTransaction(hszDat, -1, conn.Conv, hszItem, DDEML.CF_TEXT, DDEML.XTYP_POKE, Timeout.Infinite, ref returnFlags);
                DDEML.DdeFreeStringHandle(m_idInst, hszItem);
            }
        }
Exemple #2
0
        void InternalExecuteMacro(object form, string strText)
        {
            Connection conn;

            if (m_connections.TryGetValue(form, out conn))
            {
                uint   idErr  = 0;
                byte[] data   = Encoding.GetBytes(strText);
                IntPtr hszDat = DDEML.DdeCreateDataHandle(m_idInst, data, data.Length, 0, IntPtr.Zero, DDEML.CF_TEXT, 0);
                if (hszDat == IntPtr.Zero)
                {
                    idErr = DDEML.DdeGetLastError(m_idInst);
                }
                uint returnFlags = 0;
                DDEML.DdeClientTransaction(hszDat, -1, conn.Conv, IntPtr.Zero, DDEML.CF_TEXT, DDEML.XTYP_EXECUTE, Timeout.Infinite, ref returnFlags);
            }
        }