寫了乙個不使用 com, 而是通過 win32 api 實現的示例, 它把寫字板程式嵌在了自己的乙個面板中.
這麼做可能沒有實際意義, 因為兩個程式之前沒有進行有價值的互動, 這裡僅僅是為了演示這麼做到, 以下是詳細注釋過的主要源**.
我把它封裝到乙個類中:
[csharp]copy
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.diagnostics;
using system.runtime.interopservices;
using system.windows.forms;
namespace system.windows.forms
~insertwindow()
} #region 函式和變數宣告
/* * 宣告 win32 api
*/
[dllimport("user32.dll")]
static extern intptr setparent(intptr hwndchild,
intptr hwndnewparent
);
[dllimport("user32.dll")]
static extern int32 getwindowlong(intptr hwnd,
int32 nindex
);
[dllimport("user32.dll")]
static extern int32 setwindowlong(intptr hwnd,
int32 nindex,
int32 dwnewlong
);
[dllimport("user32.dll")]
static extern int32 setwindowpos(intptr hwnd,
intptr hwndinsertafter,
int32 x,
int32 y,
int32 cx,
int32 cy,
uint32 uflags
);
/* * 定義 win32 常數
*/
const int32 gwl_style = -16;
const int32 ws_border = (int32)0x00800000l;
const int32 ws_thickframe = (int32)0x00040000l;
const int32 swp_nomove = 0x0002;
const int32 swp_nosize = 0x0001;
const int32 swp_nozorder = 0x0004;
const int32 swp_framechanged = 0x0020;
const int32 sw_maximize = 3;
intptr hwnd_notopmost = new intptr(-2);
// 目標應用程式的程序.
process m_innerprocess = null;
#endregion
#region 容器
private panel pan = null;
public panel panel1
get
} private void pane()
private void panel1_resize(object sender, eventargs e)
#endregion
#region 相應事件
#endregion
} }
然後在 視窗的 load事件中 加入
詳細** 如下:
[csharp]copy
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
using system.runtime;
using system.runtime.interopservices;
using system.diagnostics;
namespace 將程式視窗嵌入到工作列中
private void form1_load(object sender, eventargs e)
} }
通過 WIN32 API 實現嵌入程式窗體
寫了乙個不使用 com,而是通過 win32 api 實現的示例,它把寫字板程式嵌在了自己的乙個面板中.這麼做可能沒有實際意義,因為兩個程式之前沒有進行有價值的互動,這裡僅僅是為了演示這麼做到,以下是詳細注釋過的主要源 我把它封裝到乙個類中 csharp copy using system usin...
C 通過呼叫Win32API實現讀寫ini檔案
ini檔案在很長一段時間作為程式配置檔案很流行,而寫有很多老一輩程式設計師都喜歡使用ini格式的檔案做為軟體系統的配置檔案,因此有必要在進行c 程式開發是了解一下對ini檔案的讀寫操作。本次分享c 呼叫win32api的方式實現ini檔案的讀寫操作。win32tool using system us...
通過win32api讓c 控制Windows工作列
c 中宣告如下 using system.runtime.interopservices dllimport user32.dll entrypoint findwindowa public static extern intptr findwindowa string lp1,string lp2...