פיתוח תוכנה – צעד אחר צעד, חלק א’ פרק שביעי

16 בפברואר 2014

לפרק הקודם. בפרק זה נלמד על: המשך עבודה עם WPF. התחלה של תנאים. בפרק הקודם התחלנו לכתוב תוכנה שמדמה “פנקס רשימות”, (מומלץ לחזור על הפרק הקודם לפני ההמשך). נרכז לרגע את קוד ה – xmal וקוד ה – cs שכתבנו בפרק הקודם. Code Snippet <Window x:Class="WpfApplication1.MainWindow"       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         Title="MainWindow" Height="350" Width="525">    <Grid>        <Grid.RowDefinitions>            <RowDefinition Height="auto"></RowDefinition>            <RowDefinition></RowDefinition>        </Grid.RowDefinitions>        <Menu Grid.Row="0">            <MenuItem Header="File" Padding="5,1">                <MenuItem Header="New" Click="New_Click"></MenuItem>                <MenuItem Header="Open" Click="Open_Click"></MenuItem>                <MenuItem Header="Save" Click="Save_Click"></MenuItem>                <Separator></Separator>                <MenuItem Header="Exit" Click="Exit_Click"></MenuItem>            </MenuItem>        </Menu>        <TextBox Grid.Row="1"            ScrollViewer.VerticalScrollBarVisibility="Visible"           TextWrapping="Wrap"           AcceptsReturn="True"           Name="txtData"           FontSize="16"           Padding="5"></TextBox>    </Grid></Window>   כזכור, החלק של ה...
5 תגובות

קבלת ProcessId של office interop שנוצר בקוד שלנו

12 בפברואר 2014

התבקשתי למצוא את ה – ProcessId של אקסל שנוצר מקוד בעזרת Interop, כמובן שזה לא משנה אקסל, וורד וכד’. הפיתרון הגיע מכאן הקוד יהיה פשוט, לאובייקטים של ה – Interope יש מאפיין Hwnd (יושב תחת Application), דרכו ניתן לקבל את ה – ProcessId, אבל לא בצורה ישירה, נצטרך לשלוח את הפרמטר לפונקציית GetWindowThreadProcessId של מערכת ההפעלה, ממנו נקבל את ה – ProcessId דרכו נוכל לפנות ל – Process.GetProcessById, הקוד המלא יראה כך: Code Snippet class Program{    static void Main(string args)    {        Application app = new Application();        app.Visible = true;        int excelProcessId = 0;        GetWindowThreadProcessId(new IntPtr(app.Hwnd), out...
תגיות: , ,
אין תגובות