亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? phone.cs

?? 實現了windows mobile下對短信進行加密發送
?? CS
字號:
using System;
using System.Text;
using System.Runtime.InteropServices;
using System.Threading;
using System.Windows.Forms;

namespace SMS {
	/// <summary>
	/// Identifies the phone number type specified.
	/// </summary>
	public enum AddressType {
		/// <summary>Unknown phone number type.</summary>
		Unknown,
		/// <summary>International phone number.</summary>
		International,
		/// <summary>National phone number.</summary>
		National,
		/// <summary>Network-specific phone number.</summary>
		NetworkSpecific,
		/// <summary>Subscriber phone number.</summary>
		Subscriber,
		/// <summary>Alphanumeric phone number.</summary>
		Alphanumeric,
		/// <summary>Abbreviated phone number.</summary>
		Abbreviated
	}

	/// <summary>
	/// Information about the phone number.
	/// </summary>
	public struct PhoneAddress {
		/// <summary>The address type.</summary>
		public AddressType AddressType;
		/// <summary>The phone number in string format.</summary>
		public String Address;
	}

	/// <summary>
	/// Short Message Service.
	/// </summary>
	public unsafe class SMSSender {
		private static string	SMS_MSGTYPE_TEXT				= "Microsoft Text SMS Protocol";
        private static long     SMS_MODE_RECEIVE                = 0x00000001;
		private static long		SMS_MODE_SEND					= 0x00000002;
		private static long		SMS_OPTION_DELIVERY_NONE		= 0x00000000;
		private static long		SMS_OPTION_DELIVERY_NO_RETRY	= 0x00000001;
		//private static long		PS_MESSAGE_OPTION_NONE          = 0x00000000;
        //private static long     PS_MESSAGE_OPTION_STATUSREPORT  = 0x00000001;

        private static int PS_MESSAGE_OPTION_NONE = 0;
        private static int PS_MESSAGE_OPTION_STATUSREPORT = 2;
        private IntPtr hSms = IntPtr.Zero;

        private long delivery = SMS_MODE_SEND;
        private bool bStop = false;

        private TEXT_PROVIDER_SPECIFIC_DATA txtProviderDate = new TEXT_PROVIDER_SPECIFIC_DATA();

        public SMSSender()
        {
            txtProviderDate.psMessageClass = PROVIDER_SPECIFIC_MESSAGE_CLASS.PS_MESSAGE_CLASS1;
            txtProviderDate.psReplaceOption = PROVIDER_SPECIFIC_REPLACE_OPTION.PSRO_NONE;
            txtProviderDate.dwMessageOptions = PS_MESSAGE_OPTION_NONE;
        }

		private enum SMS_DATA_ENCODING {
			SMSDE_OPTIMAL=0,
			SMSDE_GSM,
			SMSDE_UCS2,
		}

		private enum PROVIDER_SPECIFIC_MESSAGE_CLASS {
            PS_MESSAGE_CLASS0 = 0, //立即顯示但不存儲
            PS_MESSAGE_CLASS1 = 1, 
			PS_MESSAGE_CLASS2 = 2,
			PS_MESSAGE_CLASS3  =3,
		}

		private enum PROVIDER_SPECIFIC_REPLACE_OPTION {
			PSRO_NONE = 0,
			PSRO_REPLACE_TYPE1,
			PSRO_REPLACE_TYPE2,
			PSRO_REPLACE_TYPE3,
			PSRO_REPLACE_TYPE4,
			PSRO_REPLACE_TYPE5,
			PSRO_REPLACE_TYPE6,
			PSRO_REPLACE_TYPE7,
			PSRO_RETURN_CALL,
			PSRO_DEPERSONALIZATION,
		}

		private struct TEXT_PROVIDER_SPECIFIC_DATA {
            public int dwMessageOptions;
            //public long dwMessageOptions;
			public PROVIDER_SPECIFIC_MESSAGE_CLASS psMessageClass;
			public PROVIDER_SPECIFIC_REPLACE_OPTION psReplaceOption;
		}
private struct SMSREGISTRATIONDATA {
    public int cbSize;
    public string   tszAppName;//[260];
    public string   tszParams;//[260];
    public string   tszProtocolName;//[260];
} ;

		[DllImport("sms.dll")]
		private static extern IntPtr SmsOpen(String ptsMessageProtocol, IntPtr dwMessageModes, ref IntPtr psmshHandle, IntPtr phMessageAvailableEvent);

		[DllImport("sms.dll")]
		private static extern IntPtr SmsSendMessage(IntPtr smshHandle, IntPtr psmsaSMSCAddress, IntPtr psmsaDestinationAddress, IntPtr pstValidityPeriod, byte[] pbData, IntPtr dwDataSize,
            ref TEXT_PROVIDER_SPECIFIC_DATA pbProviderSpecificData, IntPtr dwProviderSpecificDataSize, SMS_DATA_ENCODING smsdeDataEncoding,
			IntPtr dwOptions,  IntPtr psmsmidMessageID);

		[DllImport("sms.dll")]
		private static extern IntPtr SmsClose(IntPtr smshHandle);

		[DllImport("sms.dll")]
		private static extern IntPtr SmsGetMessageSize(IntPtr smshHandle, ref int pdwDataSize);
        [DllImport("sms.dll")]
        private static extern IntPtr SmsSetMessageNotification( IntPtr regData);


        [DllImport("sms.dll")]
		private static extern IntPtr SmsReadMessage(IntPtr smshHandle, IntPtr psmsaSMSCAddress, IntPtr psmsaDestinationAddress, 
            IntPtr pstValidityPeriod,ref byte[] pbData, int  dwDataSize,
            ref TEXT_PROVIDER_SPECIFIC_DATA pbProviderSpecificData, int dwProviderSpecificDataSize, ref int pdwBytesRead);
        /*
		private static extern IntPtr SmsReadMessage(IntPtr smshHandle, ref IntPtr psmsaSMSCAddress, ref IntPtr psmsaDestinationAddress, 
            ref IntPtr pstValidityPeriod,ref byte[] pbData, IntPtr dwDataSize,
            ref TEXT_PROVIDER_SPECIFIC_DATA pbProviderSpecificData, IntPtr dwProviderSpecificDataSize, ref IntPtr pdwBytesRead);
        */
        [DllImport("Coredll.dll")]
        private static extern IntPtr CreateEvent(IntPtr lpEventAttributes, UInt32 bManualReset, UInt32 bInitialState, IntPtr lpName);

        [DllImport("Coredll.dll")]
        private static extern UInt32 WaitForSingleObject(IntPtr lpEventHandle, UInt32 timeout);
        unsafe public bool InstallNotify()
        {
            SMSREGISTRATIONDATA dataStruct;
            dataStruct.tszAppName = "mytest";

            Byte[] data = new Byte[260 * 3 + 4];
            fixed (byte* pAddr = data)
                {
                    int place = 0;
                    Buffer.BlockCopy(BitConverter.GetBytes(data.Length), 0, data, place, 4);
                    place += 4;
                    byte[] tmp = Encoding.ASCII.GetBytes(dataStruct.tszAppName);
                    Buffer.BlockCopy(tmp, 0, data, place, tmp.Length);
                    place += 260;
                    //Buffer.BlockCopy(BitConverter.GetBytes(Sequence), 0, data, place, 2);
                    place += 260;
                    tmp = Encoding.ASCII.GetBytes(SMS_MSGTYPE_TEXT);
                    Buffer.BlockCopy(tmp, 0, data, place, tmp.Length);
                    /*byte* pCurrent = pAddr;
                    Marshal.WriteInt32((IntPtr)pCurrent, bDest.Length);
                    pCurrent += 4;

                    foreach (byte b in Encoding.Unicode.GetBytes(data.tszAppName))
                    {
                        Marshal.WriteByte((IntPtr)pCurrent, b);
                        pCurrent++;
                    }*/
                   IntPtr rc=SmsSetMessageNotification((IntPtr)pAddr);
                    
                    if ( rc!= IntPtr.Zero)
                        return false;

                    return true;
                }

        }


		unsafe public bool SendMessage(string sPhoneNumber, byte[] bMessage/*string sMessage*/) 
        {
			

				Byte[] bDest = new Byte[516];
                fixed (byte* pAddr = bDest)
                {
                    byte* pCurrent = pAddr;
                    Marshal.WriteInt32((IntPtr)pCurrent, (int)AddressType.Unknown);
                    pCurrent += 4;

                    foreach (byte b in Encoding.Unicode.GetBytes(sPhoneNumber))
                    {
                        Marshal.WriteByte((IntPtr)pCurrent, b);
                        pCurrent++;
                    }
                    


                    //byte[] bMessage = Encoding.Unicode.GetBytes(sMessage);
                    int nMsgSize = bMessage.Length;


                    /*if (SmsSendMessage(hSms, IntPtr.Zero, (IntPtr)pAddr, IntPtr.Zero, bMessage, (IntPtr)nMsgSize,
                        ProvData, (IntPtr)ProvData.Length, SMS_DATA_ENCODING.SMSDE_OPTIMAL, (IntPtr)SMS_OPTION_DELIVERY_NONE, IntPtr.Zero) != IntPtr.Zero)
                        return false;*/


                    if (SmsSendMessage(hSms, IntPtr.Zero, (IntPtr)pAddr, IntPtr.Zero, bMessage, (IntPtr)nMsgSize,
                        ref txtProviderDate, (IntPtr)(sizeof(TEXT_PROVIDER_SPECIFIC_DATA)), SMS_DATA_ENCODING.SMSDE_OPTIMAL, (IntPtr)SMS_OPTION_DELIVERY_NONE, IntPtr.Zero) != IntPtr.Zero)
                        return false;
                }
                return true;
		}


        unsafe public void SetSendState(bool isSave,bool isDelivery)
        {
            if (isSave)
            {
                txtProviderDate.psMessageClass = PROVIDER_SPECIFIC_MESSAGE_CLASS.PS_MESSAGE_CLASS0;
            }
            if (isDelivery)
            {             
                txtProviderDate.dwMessageOptions = PS_MESSAGE_OPTION_STATUSREPORT;
            }
        }


        unsafe public bool OpenDevice()
        {
            try
            {
                //if (SmsOpen(SMS_MSGTYPE_TEXT, (IntPtr)(SMS_MODE_RECEIVE + SMS_MODE_SEND), ref hSms, IntPtr.Zero) != IntPtr.Zero)
                    if (SmsOpen(SMS_MSGTYPE_TEXT, (IntPtr)SMS_MODE_SEND, ref hSms, IntPtr.Zero) != IntPtr.Zero)
                    return false;
                return true;
            }
            catch
            {
                return false;
            }
        }
        unsafe public void CloseDevice()
        {
            SmsClose(hSms);
        }
        public void ReceiveFunc()
        {
            try
            {
                IntPtr smshHandle = IntPtr.Zero;
               IntPtr hEvent = CreateEvent(IntPtr.Zero, 0, 0, IntPtr.Zero);
               if (hEvent == IntPtr.Zero)
                    return ;
               // MessageBox.Show("beopen", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                if (SmsOpen(SMS_MSGTYPE_TEXT, (IntPtr)(SMS_MODE_RECEIVE + SMS_MODE_SEND), ref smshHandle, hEvent) != IntPtr.Zero)
                    return ;
                MessageBox.Show("befroe read", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                while (bStop)
                {
                    int dwSize=0;
                    byte[] pbData = new byte[512];
                    if( WaitForSingleObject(hEvent, 10000)==0)
                    {
                        if (SmsReadMessage(smshHandle, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, ref pbData, pbData.Length,
                        ref txtProviderDate, (sizeof(TEXT_PROVIDER_SPECIFIC_DATA)), ref dwSize) != IntPtr.Zero)
                            MessageBox.Show("sdfsfd", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);


                    }
   
                }
                return;
            }
            catch
            {
                return ;
            }

        }
        unsafe public void InstallReceiver()
        {
            Thread myThread = new Thread(new ThreadStart(ReceiveFunc));
            myThread.Start();
            MessageBox.Show("安裝成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);

        }
        unsafe public void Stop()
        {
            bStop = false;

        }


	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品蜜臀av| 日本成人在线网站| 日韩国产欧美三级| 懂色av一区二区三区蜜臀| 一本大道久久精品懂色aⅴ| 欧美一区三区四区| 亚洲美女屁股眼交| 成人av在线资源| 亚洲精品在线观看网站| 亚洲成人激情av| 色综合天天综合| 欧美激情一区二区三区不卡| 美女性感视频久久| 欧美午夜电影一区| 成人免费一区二区三区视频 | 青娱乐精品在线视频| 91麻豆高清视频| 国产精品久久久久久久久免费相片| 日韩国产在线一| 欧美日韩中字一区| 一区二区三区视频在线看| av在线不卡免费看| 国产欧美精品日韩区二区麻豆天美| 另类调教123区| 精品福利av导航| 麻豆freexxxx性91精品| 宅男噜噜噜66一区二区66| 午夜激情久久久| 欧美乱熟臀69xxxxxx| 亚洲电影视频在线| 欧美日韩国产天堂| 午夜精品福利一区二区三区av| 日本高清免费不卡视频| 夜夜夜精品看看| 色菇凉天天综合网| 亚洲在线一区二区三区| 欧美视频一区二| 婷婷久久综合九色国产成人 | 久久久久久久久久久久电影| 久久爱www久久做| 久久精品人人做人人综合| 国内成人精品2018免费看| 精品久久久久一区二区国产| 国产中文字幕精品| 久久精品视频在线免费观看| 成人av网站在线观看| 亚洲欧洲无码一区二区三区| 94色蜜桃网一区二区三区| 亚洲激情五月婷婷| 欧美一级二级三级乱码| 国产精品亚洲成人| 亚洲欧美日韩在线播放| 欧美日韩国产免费| 国产在线精品一区二区不卡了 | 亚洲黄色av一区| 欧美亚洲综合网| 毛片av中文字幕一区二区| 精品国产乱码91久久久久久网站| 国产电影一区在线| 亚洲午夜久久久| 久久久久久久国产精品影院| 成人黄色小视频在线观看| 亚洲一区二区三区四区五区黄| 欧美一区二区三区小说| 成人性生交大片免费看视频在线 | 欧美三级三级三级| 国产在线视频一区二区三区| 国产精品国产自产拍高清av王其 | 欧美一区二区三区四区久久| 国产精品资源在线看| 亚洲精品成人少妇| 久久婷婷国产综合国色天香| 91浏览器在线视频| 国产九九视频一区二区三区| 亚洲小少妇裸体bbw| 久久精品一区二区| 在线成人免费观看| 97精品国产露脸对白| 美女一区二区三区在线观看| 亚洲乱码中文字幕综合| 欧美成人三级电影在线| 欧美影片第一页| 成人在线综合网| 美女脱光内衣内裤视频久久网站 | 欧美成人国产一区二区| 色综合网色综合| 国产精品99久久久久久有的能看 | 久久亚洲精品小早川怜子| 欧美亚洲高清一区| thepron国产精品| 久久99久久久欧美国产| 日本视频免费一区| 亚洲影视在线观看| 中文字幕亚洲综合久久菠萝蜜| 欧美电影免费观看完整版| 欧美丝袜自拍制服另类| 91蜜桃婷婷狠狠久久综合9色| 国产伦理精品不卡| 精品一区二区三区在线观看| 亚洲大片一区二区三区| 亚洲综合成人在线视频| 亚洲三级久久久| 欧美经典三级视频一区二区三区| 欧美精品一区二区三区久久久 | 91麻豆6部合集magnet| 成人黄色软件下载| 国产sm精品调教视频网站| 麻豆91在线播放| 日韩不卡免费视频| 欧美a级理论片| 午夜av区久久| 日韩av不卡在线观看| 日韩电影网1区2区| 蜜桃视频在线一区| 韩国一区二区视频| 国产精品一二三| 成人精品视频.| 91丨九色丨尤物| 欧美性猛交xxxxxx富婆| 欧美午夜精品久久久久久孕妇 | 亚洲一级二级三级| 亚洲最新在线观看| 亚洲一级二级在线| 蜜臀久久久99精品久久久久久| 日本在线播放一区二区三区| 日本aⅴ亚洲精品中文乱码| 麻豆精品一区二区三区| 国产精品一区二区三区四区| 成人精品亚洲人成在线| 在线中文字幕一区| 欧美精品九九99久久| 精品日韩在线观看| 国产婷婷一区二区| 中文字幕一区二区三中文字幕| 亚洲激情图片小说视频| 日本不卡一区二区| 国产美女娇喘av呻吟久久| 99久久99久久综合| 欧美卡1卡2卡| 久久精品亚洲国产奇米99| 亚洲丝袜美腿综合| 日日夜夜免费精品| 国产精品一品二品| 欧美日韩在线综合| 久久综合九色综合97婷婷| 国产精品美女久久久久久2018 | 69成人精品免费视频| 2024国产精品| 一区二区免费看| 激情文学综合网| 色国产精品一区在线观看| 日韩欧美久久久| 亚洲四区在线观看| 国产一区二区伦理片| 色播五月激情综合网| 久久日韩粉嫩一区二区三区| 亚洲免费色视频| 国产成人精品亚洲777人妖 | xfplay精品久久| 午夜国产不卡在线观看视频| 国产精品一区二区黑丝| 777欧美精品| 自拍偷拍亚洲激情| 精品一区二区综合| 欧洲av在线精品| 中文字幕va一区二区三区| 蜜臀久久99精品久久久画质超高清 | 久久视频一区二区| 亚洲福利视频导航| 成人精品视频.| 久久久久久久久久美女| 日精品一区二区| 91国产成人在线| 成人污视频在线观看| 91麻豆精品国产| 亚洲精品一二三| 国产精品99久久久久久宅男| 91精品一区二区三区在线观看| 亚洲欧美日韩国产成人精品影院 | 欧美精品日韩一区| 亚洲色图制服丝袜| 国产乱子伦一区二区三区国色天香| 欧美日韩免费高清一区色橹橹| 中文字幕一区二区三区视频| 国产成人在线视频网站| 日韩欧美国产一区二区在线播放| 夜夜嗨av一区二区三区四季av | 欧美一级免费大片| 亚洲综合av网| 色偷偷久久一区二区三区| 国产精品福利一区二区三区| 国产成人免费视频精品含羞草妖精 | 国产精品免费视频观看| 国产乱子伦一区二区三区国色天香| 日韩一区二区精品在线观看| 亚洲国产人成综合网站| 欧美体内she精视频| 亚洲成人免费在线| 欧美剧在线免费观看网站 | 亚洲午夜久久久|