当前位置: 首页 > news >正文

建设银行六安市分行网站电子商城系统的设计与实现

建设银行六安市分行网站,电子商城系统的设计与实现,网站建设公司效益怎么样,天津网站建设天津Delphi 模拟按键的方法 SendMessageA 说明: 调用一个窗口的窗口函数#xff0c;将一条消息发给那个窗口。除非消息处理完毕#xff0c;否则该函数不会返回SendMessage所包含4个参数: 1. hwnd 32位的窗口句柄窗口可以是任何类型的屏幕对象#xff0c;因为Win32能够维护大多数…Delphi 模拟按键的方法 SendMessageA 说明: 调用一个窗口的窗口函数将一条消息发给那个窗口。除非消息处理完毕否则该函数不会返回SendMessage所包含4个参数:  1. hwnd 32位的窗口句柄窗口可以是任何类型的屏幕对象因为Win32能够维护大多数可视对象的句柄 2. wMsg 用于区别其他消息的常量值这些常量可以是Windows单元中预定义的常量也可以是自定义的常量 3. wParam 通常是一个与消息有关的常量值也可能是窗口或控件的句柄 4. lParam 通常是一个指向内存中数据的指针。由于WParm、lParam和Pointer都是32位的因此它们之间可以相互转换 wMsg函数  ★WM_Create 创建一个窗口 ★WM_DESTROY 当一个窗口被破坏时发送 ★WM_MOVE 移动一个窗口 ★WM_SIZE 改变一个窗口的大小 ★WM_ACTIVATE 一个窗口被激活或失去激活状态 ★WM_SETFOCUS 一个窗口获得焦点 ★WM_KILLFOCUS 一个窗口失去焦点 ★WM_ENABLE 一个窗口改变成Enable状态 ★WM_SETREDRAW 设置窗口是否能重画 ★WM_SETTEXT 应用程序发送此消息来设置一个窗口的文本 ★WM_GETTEXT 应用程序发送此消息来复制对应窗口的文本到缓冲区 ★WM_GETTEXTLENGTH 得到与一个窗口有关的文本的长度不包含空字符 ★WM_PAINT 要求一个窗口重画自己 ★WM_CLOSE 当一个窗口或应用程序要关闭时发送一个信号 ★WM_QUERYENDSESSION 用户选择结束对话框或程序自己调用ExitWindows函数 ★WM_QUIT 用来结束程序运行 ★WM_QUERYOPEN 用户窗口恢复以前的大小位置时把此消息发送给某个图标 ★WM_ERASEBKGND 当窗口背景必须被擦除时例在窗口改变大小时 ★WM_SYSCOLORCHANGE 当系统颜色改变时发送此消息给所有顶级窗口 ★WM_QUERYENDSESSION 消息后此消息发送给应用程序通知它对话是否结束 ★WM_SHOWWINDOW 当隐藏或显示窗口是发送此消息给这个窗口 ★WM_ACTIVATEAPP 发此消息给应用程序哪个窗口是激活的哪个是非激活的  ★WM_FONTCHANGE 当系统的字体资源库变化时发送此消息给所有顶级窗口 ★WM_TIMECHANGE 当系统的时间变化时发送此消息给所有顶级窗口 ★WM_CANCELMODE 发送此消息来取消某种正在进行的摸态操作 ★WM_SETCURSOR 如果鼠标引起光标在某个窗口中移动 ★WM_ENDSESSION 当系统进程发出且鼠标输入没有被捕获时就发消息给某个窗口 ★WM_MOUSEACTIVATE 当光标在某个非激活的窗口中而用户正按着鼠标的某个键发送此消息给当前窗口 ★WM_CHILDACTIVATE 送此消息给MDI子窗口当用户点击此窗口的标题栏或当窗口被激活移动改变大小 ★WM_QUEUESYNC 此消息由基于计算机的训练程序发送,通过 WH_JOURNALPALYBACK的hook程序分离出用户输入消息 ★WM_GETMINMAXINFO 此消息发送给窗口当它将要改变大小或位置  ★WM_PAINTICON 发送给最小化窗口当它图标将要被重画 ★WM_ICONERASEBKGND 此消息发送给某个最小化窗口仅当它在画图标前它的背景必须被重画 ★WM_NEXTDLGCT★发送此消息给一个对话框程序去更改焦点位置 ★WM_SPOOLERSTATUS 每当打印管理列队增加或减少一条作业时发出此消息  ★WM_DRAWITEM 当buttoncomboboxlistboxmenu的可视外观改变时发送 ★WM_MEASUREITEM 当button, combobox, listbox, listview control, or menuitem 被创建时 ★WM_VKEYTOITEM 此消息有一个LBS_WANTKEYBOARDINPUT风格的发出给它的所有者来响应WM_KEYDOWN消息  ★WM_CHARTOITEM 此消息由一个LBS_WANTKEYBOARDINPUT风格的列表框发送给他的所有者来响应WM_CHAR消息  ★WM_SETFONT 当绘制文本时程序发送此消息得到控件要用的颜色 ★WM_GETFONT 应用程序发送此消息得到当前控件绘制文本的字体 ★WM_SETHOTKEY 应用程序发送此消息让一个窗口与一个热键相关连 ★WM_GETHOTKEY 应用程序发送此消息来判断热键与某个窗口是否有关联 ★WM_QUERYDRAGICON 此消息发送给最小化窗口当此窗口将要被拖放而它的类中没有定义图标应用程序能返回一个图标或光标的句柄当用户拖放图标时系统显示这个图标或光标 ★WM_COMPAREITEM 发送此消息来判定combobox或listbox新增加的项的相对位置 ★WM_COMPACTING 显示内存已经很少了 ★WM_WINDOWPOSCHANGING 发送此消息给那个窗口的大小和位置将要被改变时来调用setwindowpos函数或其它窗口管理函数 ★WM_WINDOWPOSCHANGED 发送此消息给那个窗口的大小和位置已经被改变时来调用setwindowpos函数或其它窗口管理函数 ★WM_POWER 当系统将要进入暂停状态时发送此消息 ★WM_COPYDATA 当一个应用程序传递数据给另一个应用程序时发送此消息 ★WM_CANCELJOURNA 当某个用户取消程序日志激活状态提交此消息给程序 ★WM_NOTIFY 当某个控件的某个事件已经发生或这个控件需要得到一些信息时发送此消息给它的父窗口  ★WM_INPUTLANGCHANGEREQUEST 当用户选择某种输入语言或输入语言的热键改变 ★WM_INPUTLANGCHANGE 当平台现场已经被改变后发送此消息给受影响的最顶级窗口 ★WM_TCARD 当程序已经初始化windows帮助例程时发送此消息给应用程序 ★WM_HELP 此消息显示用户按下了F1如果某个菜单是激活的就发送此消息个此窗口关联的菜单否则就发送给有焦点的窗口如果当前都没有焦点就把此消息发送给当前激活的窗口 ★WM_USERCHANGED 当用户已经登入或退出后发送此消息给所有的窗口当用户登入或退出时系统更新用户的具体设置信息在用户更新设置时系统马上发送此消息 ★WM_NOTIFYFORMAT 公用控件自定义控件和他们的父窗口通过此消息来判断控件是使用ANSI还是UNICODE结构 SendMessage(TreeView.Handle,TVM_SETBKCOLOR,0,RGB(255,0,0)); 设置TV背景颜色 SendMessage(Button.Handle,WM_LBUTTONDOWN,0,0);  鼠标左键按下 SendMessage(Button.Handle,WM_LBUTTONUP,0,0);   鼠标左键抬起 SendMessage(Edit.Handle,WM_SETTEXT,255,Integer(PChar(abc))); 传递文本 SendMessage(Edit.Handle,WM_Char,Wparam(Q),2);  传递字符 SendMessage(Button.Handle,BM_SETSTYLE,BS_RADIOBUTTON,1);  改变Button风格 SendMessage(ComboBox.Handle,CB_SETDropPEDWIDTH,300,0);  改变CBDownWidth WM_CUT、WM_COPY和WM_PASTE  剪切复制粘帖 实现任意组合键 keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0); keybd_event(ord(V), MapVirtualKey(ord(V), 0), 0, 0); keybd_event(ord(V), MapVirtualKey(ord(V), 0), KEYEVENTF_KEYUP, 0); keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0); Delphi 模拟按键方法(经典简单) 内容模拟win键   keybd_event(VK_LWIN,   0,   0,   0);      keybd_event(Byte(R),   0,   0,   0);      keybd_event(Byte(R),   0,   KEYEVENTF_KEYUP,   0);      keybd_event(VK_LWIN,   0,   KEYEVENTF_KEYUP,   0); 键盘常用代码一览表 vbKeyLButton 0x1 鼠标左键  vbKeyRButton 0x2 鼠标右键  vbKeyCancel 0x3 CANCEL键  vbKeyMButton 0x4 鼠标中键  vbKeyBack 0x8 退格键  vbKeyTab 0x9 TAB 键  vbKeyClear 0xC CLEAR健  vbKeyReturn 0xD 回车键  vbKeyShift 0x10 SHIFT 键  vbKeyControl 0x11 CTRL 键  vbKeyMenu 0x12 MENU 键  vbKeyPause 0x13 PAUSE 键  vbKeyCapital 0x14 APS LOCK 键  vbKeyEscape 0x1B ESC 键  vbKeySpace 0x20 空格键  vbKeyPageUp 0x21 Page Up 键  vbKeyPageDown 0x22 Page Down 键  vbKeyEnd 0x23 END 键  vbKeyHome 0x24 HOME 键  vbKeyLeft 0x25 光标左键  vbKeyUp 0x26 光标上键  vbKeyRight 0x27 光标右键  vbKeyDown 0x28 光标下键  vbKeySelect 0x29 SELECT 键  vbKeyPrint 0x2A Print Screen 键  vbKeyExecute 0x2B EXECUTE 键  vbKeySnapshot 0x2C SnapShot 键  vbKeyInsert 0x2D INSERT 键  vbKeyDelete 0x2E DELETE 键  vbKeyHelp 0x2F HELP 键  vbKeyNumlock 0x90 NUM LOCK 键  vbKeyA 65 字母 A 键  vbKeyB 66 字母 B 键  vbKeyC 67 字母 C 键  vbKeyD 68 字母 D 键  vbKeyE 69 字母 E 键  vbKeyF 70 字母 F 键  vbKeyG 71 字母 G 键  vbKeyH 72 字母 H 键  vbKeyI 73 字母 I 键  vbKeyJ 74 字母 J 键  vbKeyK 75 字母 K 键  vbKeyL 76 字母 L 键  vbKeyM 77 字母 M 键  vbKeyN 78 字母 N 键  vbKeyO 79 字母 O 键  vbKeyP 80 字母 P 键  vbKeyQ 81 字母 Q 键  vbKeyR 82 字母 R 键  vbKeyS 83 字母 S 键  vbKeyT 84 字母 T 键  vbKeyU 85 字母 U 键  vbKeyV 86 字母 V 键  vbKeyW 87 字母 W 键  vbKeyX 88 字母 X 键  vbKeyY 89 字母 Y 键  vbKeyZ 90 字母 Z 键  vbKey0 48 数字 0 键  vbKey1 49 数字 1 键  vbKey250数字 2 键  vbKey3 51 数字 3 键  vbKey4 52 数字 4 键  vbKey553 数字 5 键  vbKey6 54 数字 6 键  vbKey7 55 数字 7 键  vbKey8 56 数字 8 键  vbKey9 57 数字 9 键  vbKeyF1 0x70 F1 功能键  vbKeyF2 0x71 F2 功能键  vbKeyF3 0x72 F3 功能键  vbKeyF4 0x73 F4 功能键  vbKeyF5 0x74 F5 功能键  vbKeyF6 0x75 F6 功能键  vbKeyF7 0x76 F7 功能键  vbKeyF8 0x77 F8 功能键  vbKeyF9 0x78 F9 功能键  vbKeyF10 0x79 F10 功能键  vbKeyF11 0x7A F11 功能键  vbKeyF12 0x7B F12 功能键  vbKeyF13 0x7C F13 功能键  vbKeyF14 0x7D F14 功能键  vbKeyF15 0x7E F15 功能键  vbKeyF16 0x7F F16 功能键  vbKeyNumpad0 0x60 小键盘 0 键  vbKeyNumpad1 0x61 小键盘 1 键  vbKeyNumpad3 0x63 小键盘 3 键  vbKeyNumpad4 0x64 小键盘 4 键  vbKeyNumpad5 0x65 小键盘 5 键  vbKeyNumpad6 0x66 小键盘 6 键  vbKeyNumpad7 0x67 小键盘 7 键  vbKeyNumpad8 0x68 小键盘 8 键  vbKeyNumpad9 0x69 小键盘 9 键  vbKeyMultiply 0x6A 小键盘 * 键  vbKeyAdd 0x6B 小键盘 键  vbKeySeparator 0x6C 小键盘回车键  vbKeySubtract 0x6D 小键盘 - 键  vbKeyDecimal 0x6E 小键盘 . 键  vbKeyDivide 0x6F 小键盘 / 键  Delphi 键盘码表        VK_LBUTTON 1;  VK_RBUTTON 2; VK_CANCEL 3; VK_MBUTTON 4; { NOT contiguous with L RBUTTON } VK_BACK 8; VK_TAB 9; VK_CLEAR 12; VK_RETURN 13; VK_SHIFT $10; VK_CONTROL 17; VK_MENU 18; VK_PAUSE 19; VK_CAPITAL 20; VK_KANA 21; VK_HANGUL 21; VK_JUNJA 23; VK_FINAL 24; VK_HANJA 25; VK_KANJI 25; VK_CONVERT 28; VK_NONCONVERT 29; VK_ACCEPT 30; VK_MODECHANGE 31; VK_ESCAPE 27; VK_SPACE $20; VK_PRIOR 33; VK_NEXT 34; VK_END 35; VK_HOME 36; VK_LEFT 37; VK_UP 38; VK_RIGHT 39; VK_DOWN 40; VK_SELECT 41; VK_PRINT 42; VK_EXECUTE 43; VK_SNAPSHOT 44; VK_INSERT 45; VK_DELETE 46; VK_HELP 47; { VK_0 thru VK_9 are the same as ASCII 0 thru 9 ($30 - $39) } { VK_A thru VK_Z are the same as ASCII A thru Z ($41 - $5A) } VK_LWIN 91; VK_RWIN 92; VK_APPS 93; VK_NUMPAD0 96; VK_NUMPAD1 97; VK_NUMPAD2 98; VK_NUMPAD3 99; VK_NUMPAD4 100; VK_NUMPAD5 101; VK_NUMPAD6 102; VK_NUMPAD7 103; VK_NUMPAD8 104; VK_NUMPAD9 105;  VK_MULTIPLY 106; VK_ADD 107; VK_SEPARATOR 108; VK_SUBTRACT 109; VK_DECIMAL 110; VK_DIVIDE 111; VK_F1 112; VK_F2 113; VK_F3 114; VK_F4 115; VK_F5 116; VK_F6 117; VK_F7 118; VK_F8 119; VK_F9 120; VK_F10 121; VK_F11 122; VK_F12 123; VK_F13 124; VK_F14 125; VK_F15 126; VK_F16 127; VK_F17 128; VK_F18 129; VK_F19 130; VK_F20 131; VK_F21 132; VK_F22 133; VK_F23 134; VK_F24 135; VK_NUMLOCK 144; VK_SCROLL 145; { VK_L VK_R - left and right Alt, Ctrl and Shift virtual keys. Used only as parameters to GetAsyncKeyState() and GetKeyState(). No other API or message will distinguish left and right keys in this way. } VK_LSHIFT 160; VK_RSHIFT 161; VK_LCONTROL 162; VK_RCONTROL 163; VK_LMENU 164; VK_RMENU 165; VK_PROCESSKEY 229; VK_ATTN 246; VK_CRSEL 247; VK_EXSEL 248; VK_EREOF 249; VK_PLAY 250; VK_ZOOM 251; VK_NONAME 252; VK_PA1 253; VK_OEM_CLEAR 254; delphi 模似键盘输入又一方法 EnumChildWindows(Hwindow,LoginEnumWindowsProc,LongInt(self)); for i:0 to chklst_Uid.Count-1 do begin if chklst_Uid.Checked then begin SplitString(Trim(chklst_Uid.Items.Strings),-,a,b); UidLogin:Trim(a); UidPassword:Trim(b); SendMessage(HLoginNum, WM_SETTEXT, 180, Integer(PChar(UidLogin))); for j:1 to 6 do begin mychar:MidStr(UidPassword,j,1); SendMessage(Hpass,WM_CHAR,Ord(mychar[1]),0); end;chklst_Uid.Checked:False; lbl_LoginUid.Caption:UidPassword; Break; end; end; delphi 全局钩子锁定键盘 //可以锁所有键盘按键和任意组合键,但对于ALTTAB,CTRLALTDEL无效!//DLL代码如下Library KillKB;uses Wintypes, WinProcs;Var oldHook: HHook;function KBHooKProc(code: Integer; wParam: WPARAM;lParam: LPARAM):LRESULT;stdcall; export; Begin If code 0 Then Result : CallNextHookEx( oldHook, code, wparam, lparam ) Else Result : 1; end;function DisableKeyboard: Boolean; export; Begin oldHook : SetWindowsHookEx(WH_KEYBOARD,KBHooKProc,HInstance, 0 ); DisableKeyboard : oldHook 0; End;procedure EnableKeyboard; export; Begin If oldHook 0 Then Begin UnhookWindowshookEx( oldHook ); oldHook : 0; End; End;exports DisableKeyboard, EnableKeyboard;Begin oldHook : 0; End. Delphi 全局钩子锁定鼠标 //DLL代码如下:library MouseHOOK;uses Windows, Messages;var hNextHookProc: HHook;function MouseHookProc(iCode: Integer;wParam: WPARAM;lParam: LPARAM): LRESULT; stdcall; export; begin If iCode 0 Then begin if wParam WM_LBUTTONDOWN then begin Result : CallNextHookEx(hNextHookProc, iCode, wParam, lParam); end else Result:1; end; end;function DisableMouse: BOOL; export; begin Result : False; if hNextHookProc 0 then Exit; hNextHookProc : SetWindowsHookEx(WH_MOUSE,MouseHookProc,HInstance,0); Result:False; end;function EnableMouse: BOOL; export; begin if hNextHookProc 0 then begin UnhookWindowshookEx(hNextHookProc); hNextHookProc : 0; end; Result : hNextHookProc 0; end;exports EnableMouse, DisableMouse;end. delphi 如何取得键盘每个键 uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dia logs, StdCtrls; type TForm1 class(TForm) Label1: TLabel; private { Private declarations } protected procedure mykeydown(var msg:Twmkeydown);message wm_keydo wn; public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure tform1.mykeydown (var msg:Twmkeydown); begin label1.Caption:inttostr(msg.charcode); end; end. delphi 鼠标跟随代码 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls;type TForm1 class(TForm) Timer1: TTimer; procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Timer1Timer(Sender: TObject); var px,py : Integer; Pscreen : hdc; can : tcanvas; p : TPoint; begin Pscreen:getdc(0); can:tcanvas.Create; can.Handle:Pscreen; can.Brush.style:bsclear; can.Pen.color:clwindow; can.Pen.Width : 8; GetCursorPos(P); //得到鼠标坐标 px : p.X; py : p.Y; can.Ellipse(px-3,py-3,px3,py3); can.Free; releasedc(0,Pscreen); end; delphi 向其他程序发送模拟按键 向其他程序发送模拟按键 1、用keybd_event var h : THandle; begin h : FindWindow(TFitForm, 1stOpt - [Untitled1]); SetForegroundWindow(h); keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0); keybd_event(VK_F9, MapVirtualKey(VK_F9, 0), 0, 0); keybd_event(VK_F9, MapVirtualKey(VK_F9, 0), KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0); end; 选找到目标程序的句柄h在应用Keybd_event之前必须先把目标程序设为当前活动窗口。(如果不想看见的话把目标程序的位置用SetWindowLong设置在屏幕之外.) 2、用SendMessage、PostMessage 不需目标置为最前。 SendMessage(h,WM_KEYDOWN,VK_F9,0); PostMessage(h,WM_KEYDOWN,VK_F9,0); 发送组合键PostMessage(h,WM_SYSKEYDOWN,VK_F9,$10000000);//试验不成功 Ctrl $10000000;  Shift $08000000;  Alt $20000000 如打开菜单ALTF则要WM_SYSKEYDOWM,PostMessage(h,WM_SYSKEYDOWN,70,$20000000);才行。//试验成功 3、CTL键组合发送不成功。 4、向后台应用程序发送按键总结 4.1 单个按健PostMessage(h,WM_KEYDOWN,VK_F9,0); 4.2ALT按键PostMessage(h,WM_SYSKEYDOWN,70,$20000000); 4.3CTL按键暂时模仿如下基本可行。但不用sleep(10)有时行有时不行。换用SendMessage却不行WHY if hwnd0 then begin keybd_event(VK_CONTROL,0,0,0); PostMessage(hwnd,WM_KEYDOWN,VK_F9,0); PostMessage(hwnd,WM_KEYUP,VK_F9,0); sleep(10); keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0); end; 说明 键盘事件消息可以分为“击键”和“字符”两类。对于可以显示字符的击键组合Windows不仅向程序发送击键消息还发送字符消息。有些键不产生字符这些键包括shift键、Fn功能键、光标移动键和特殊字符如Insert和Delete。 击键消息包括WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN、WM_SYSKEYUP四种类型。WM_KEYDOWN和WM_KEYUP消息通常是在按下或释放不带Alt键的键时产生WM_SYSKEYDOWN和WM_SYSKEYUP消息通常由与Alt组合的击键产生这些键激活程序菜单或系统菜单上的选项或切换活动窗口也可以用作系统菜单加速键。由于Windows处理所有Alt键的功能应用程序无需捕获这些消息。对于4类击键消息wParam是虚拟键代码代表按下或释放的键而lParam包含击键的其他数据。如果按住一个键不放使得自动重复功能生效那么该键最后被释放时Windows会给窗口过程发送一系列的WM_KEYDOWN或WM_SYSKEYDWON消息和一个WM_KEYUP或WM_SYSKEYUP消息。
http://www.w-s-a.com/news/514779/

相关文章:

  • 如何做众筹网站微网站设计平台
  • 富平做网站十堰优化seo
  • 免费网站空间可访问wordpress弹窗注册代码
  • 东莞网站建设教程南京做代账会计在哪个网站上找
  • 网站开发好了 怎么发布wordpress数据库缓存插件
  • 工业电商网站怎么配色社交网站建设平台
  • 使用pycharm网站开发建一个网站需要什么条件
  • 网站建设哪些是需要外援的问题wordpress商品展示主题
  • 定制网站开发的目的是什么wordpress 增加按钮
  • 建设单位网站经费请示wordpress模板添加授权
  • 国外的电商网站有哪些为进一步加强校园网站建设
  • 专业集团门户网站建设企业微信商城和网站建设
  • 多少钱可以做网站找网络公司做推广费用
  • python php 网站开发网络营销师是干什么的
  • 网站建设设计方案动漫制作专业学校
  • 吴江区建设用地申报网站包装设计模板设计素材
  • 快速建站的公司wordpress 元数据定义
  • 网站seo分析工具网站标题用空格 逗号影响seo
  • 基金项目实验室信息网站建设wordpress文章新窗口打开
  • php网站开发就业前景做网站推荐源创网络
  • wordpress 8211西安网站优化维护
  • 泰安招聘网站有哪些wordpress 回复提醒
  • 网站服务器不稳定怎么打开网页企业营销策划心得体会
  • 自己做视频网站会不会追究版权企业商城网站建设方案
  • 烟台网站制作计划网站做seo的好处
  • 网站首页轮播官方网站下载拼多多
  • 罗庄区建设局网站自己做网站推广产品
  • 优秀flash网站欣赏苏州吴中区建设局网站
  • 网站添加wordpress博客网上商城购物系统论文
  • 上海市建设安全协会网站王夑晟企业网站建设需要做些什么