C# WIN API
От: huntex http://troyashka.ru/
Дата: 07.01.09 07:11
Оценка: :))
не работает код, который должен скрыть окно notepad'a:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace ConsoleApplication7
{
class Program
{

public const int SW_HIDE=0;
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr SendMessage(IntPtr hWnd,
int msg, int wParam, int lParam);
static void Main(string[] args)
{
Process p = new Process();
p.StartInfo.FileName = "notepad.exe";
p.Start();
SendMessage(p.Handle,SW_HIDE,0,0);
Console.ReadLine();
}
}
}
help
Re: C# WIN API
От: spencer.grant  
Дата: 07.01.09 07:41
Оценка:
Здравствуйте, huntex, Вы писали:

H>не работает код, который должен скрыть окно notepad'a:

H>using System;
H>using System.Collections.Generic;
H>using System.Linq;
H>using System.Text;
H>using System.Diagnostics;
H>using System.Runtime.InteropServices;
H>namespace ConsoleApplication7
H>{
H>class Program
H>{

H>public const int SW_HIDE=0;

H>[DllImport("user32.dll", CharSet = CharSet.Auto)]
H>public static extern IntPtr SendMessage(IntPtr hWnd,
H>int msg, int wParam, int lParam);
H>static void Main(string[] args)
H>{
H>Process p = new Process();
H>p.StartInfo.FileName = "notepad.exe";
H>p.Start();
H>SendMessage(p.Handle,SW_HIDE,0,0);
H>Console.ReadLine();
H>}
H>}
H>}

Если задача заключается в создании нового окна notepad и минимизации его — то так:


using System;
using System.Diagnostics;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Process p = new Process();
            p.StartInfo.FileName = "notepad.exe";
            p.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
            p.Start();
            Console.ReadLine();
        }
    }
}


А если надо найти открытое окно notepad и его спрятать то надо делать совсем по другому:
1. перебрать все окна
2. найти то которое нужно
3. ему отправить сообщение — смойся
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.