Are you looking for fun with application running on your windows OS??? . So WinAPI is a way by which you can get control over applications and their windows. Believe me you can do lot of fun, like minimize a window from another application made by you. You can close notepad from another application.
Win 32 API is combination of mainly 3 DLL’s They Are
User32.dll - handles user interface stuff ,Like UI windows and functionality.
Kernel32.dll - file operations, memory management .
Gdi32.dll - involved in graphical .
Let’s start with Example: Let us suppose I want to close or minimize all window open in Desktop
Step 1: Use Name space “using System.Runtime.InteropServices;”
Step2: Import DLL’s declaring methods of corresponding like this.
For more details about different functions, Please visit this link: http://msdn.microsoft.com/en-us/library/windows/desktop/ms633548(v=vs.85).aspx.
Step3: call method in your app where ever required
Full code for minimizing all open window and undo the same in C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsAPI_C_SHARP
{
public partial class Form1 : Form
{
//Importing DLL's
[DllImport("User32.dll")]
public static extern Int32 FindWindow(String lpClassName, String lpWindowName);
[DllImport("user32.dll", EntryPoint = "SendMessage", SetLastError = true)]
static extern IntPtr SendMessage(Int32 hWnd, Int32 Msg, int wParam, IntPtr lParam);
int flag = 0;
public Form1()
{
InitializeComponent();
}
private void btn_minimize_Click(object sender, EventArgs e)
{
if(flag==0)
{
minimise_All_open_window();
flag = 1;
}
else
{
undo_minimise_All_open_window();
flag = 0;
}
}
void minimise_All_open_window()
{
const int WM_COMMAND = 0x111;
const int MIN_ALL = 419;
//const int MIN_ALL_UNDO = 416;
Int32 lHwnd = FindWindow("Shell_TrayWnd", null);
SendMessage(lHwnd, WM_COMMAND, MIN_ALL, IntPtr.Zero);
}
void undo_minimise_All_open_window()
{
const int WM_COMMAND = 0x111;
//const int MIN_ALL = 419;
const int MIN_ALL_UNDO = 416;
Int32 lHwnd = FindWindow("Shell_TrayWnd", null);
SendMessage(lHwnd, WM_COMMAND, MIN_ALL_UNDO, IntPtr.Zero);
}
}
}
Nice idea,keep sharing your ideas with us.i hope this information's will be helpful for the new learners.
ReplyDeleteJAVA Training in Chennai
JAVA Training in Tnagar
Selenium Training in Chennai
Digital Marketing Course in Chennai
Python Training in Chennai
Big data training in chennai
JAVA Training in Chennai
Java Training in Velachery
"Such an interesting article on the recent talks in the software industry, hope this article helps everyone to update yourself
ReplyDeleteDigital Marketing Training Course in Chennai | Digital Marketing Training Course in Anna Nagar | Digital Marketing Training Course in OMR | Digital Marketing Training Course in Porur | Digital Marketing Training Course in Tambaram | Digital Marketing Training Course in Velachery
"