WindowsIdentity Impersonation: Справочник по C#
public class ImpersonateUser
{
public static extern bool LogonUser(
String lpszUsername,
String lpszDomain,
String lpszPassword,
int dwLogonType,
int dwLogonProvider,
ref IntPtr phToken);
public extern static bool CloseHandle(IntPtr handle);
private static IntPtr tokenHandle = new...
Программно добавляем порт принтера с помощью WMI: Справочник по C#
public void AddPrinterPort()
{
ConnectionOptions connectionOptions;
ManagementPath managementPath;
ManagementScope managementScope;
ManagementObject port;
PutOptions putOptions;
try
{
connectionOptions = new ConnectionOptions();
connectionOptions.EnablePrivileges = true;
connectionOptions.Impersonation =
System.Management.ImpersonationLevel.Impersonate;
managementPath = new ManagementPath("Win32_TCPIPPrinterPort");
managementScope = new ManagementScope(@".rootcimv2",
connectionOptions);
managementScope.Options.EnablePrivileges = true;
managementScope.Options.Impersonation =
System.Management.ImpersonationLevel.Impersonate;
port =...
Установка сетевых настроек с помощью WMI: Справочник по C#
Описываем класс опций адаптера:
public class AdapterOptions
{
string _adapterName; // Имя адаптера
public string AdapterName
{
get { return _adapterName; }
set { _adapterName = value; }
}
string _macAddress; // MAC...
Переключение языка ввода. Разбираем класс InputLanguage: Справочник по C#
В библиотеке .NET для работы с языком ввода существует класс InputLanguage. Ранее, при разработке программ под Win32 для переключения, загрузки и определения языка ввода...
Загрузка центрального процессора: Справочник по C#
Чтобы определить тип (модель), количество ядер, загрузку процессора и многое другое, можно воспользоваться классом инструментария управления Windows (WMI(http://ru.wikipedia.org/wiki/WMI)) Win32_Processor в пространстве...
Очищаем кэш Internet Explorer: Справочник по C#
private void EmptyCacheFolder(DirectoryInfo folder)
{
foreach (FileInfo file in folder.GetFiles())
{
file.Delete();
}
foreach (DirectoryInfo subfolder in folder.GetDirectories())
{
// Рекурсивно удаляем все файлы и папки
// В каждом подкаталоге
EmptyCacheFolder(subfolder);
}
}
public bool ClearCache()
{
//Переменная для...
Получаем список точек восстановления Windows с помощью WMI: Справочник по C#
private void EnumRestorePoints()
{
System.Management.ManagementClass objClass = new System.Management.ManagementClass("\.rootdefault", "systemrestore", new System.Management.ObjectGetOptions());
System.Management.ManagementObjectCollection objCol = objClass.GetInstances();
StringBuilder Results = new StringBuilder();
foreach (System.Management.ManagementObject objItem in objCol)
{
Results.Append((string)objItem);
listBox1.Items.Add(Results.ToString());
}
}
Результат:
Получаем информацию об установленных антивирусных приложениях: Справочник по C#
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.Management;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "Company...
Изменяем размер иконок рабочего стола: Справочник по C#
public static extern long SendMessageTimeout(
int hWnd,
int Msg,
int wParam,
string lParam,
int fuFlags,
int uTimeout,
out int lpdwResult);
private const int HWND_BROADCAST = 0xffff;
private const int WM_SETTINGCHANGE = 0x001A;
private const...
Работа с корзиной: Справочник по C#
Эту статью я решил написать после того, как почти ничего не нашел в Интернете касательно рассматриваемого вопроса. В основном мне попадались вопросы "Как удалить...
Получение списка цветов в C #: Справочник по C#
Для работы вам необходимо подключить следующие пространства имен:
using System.Collections.Generic;
using System.Drawing;
Вывод списка цветов в List:
private List GetColors()
{
//create a generic list of strings
List colors = new...
Добавление программы(*.exe) в PDF документ : Справочник по C#
В начале года несколькими людьми была найдена "уязвимость" в формате PDF, позволяющая запускать произвольный код при открытии файла, которая на самом...
Получаем список установленных обновлений Windows: Справочник по C#
string computer = ".";
ManagementScope scope = new ManagementScope(@"" + computer + @"rootcimv2");
ManagementObjectSearcher quickFixes = new ManagementObjectSearcher(scope, new ObjectQuery("Select * from Win32_QuickFixEngineering"));
foreach (ManagementObject quickFix in...
Устанавливаем иконку UAC Shield на кнопку: Справочник по C#
Каждый, кто использует Windows Vista или Windows 7 видел такую вот иконку на различных элементах управления. Щит на элементе управления означает, что после взаимодействия...
Получаем список зарегистрированных расширений в Windows : Справочник по C#
Для работы вам понадобится подключить следующие пространства имен:
using Microsoft.Win32;
using System.Collections;
using System.Collections.Generic;
Функция:
public static List GetAllRegisteredFileExtensions()
{
//get into the HKEY_CLASSES_ROOT
RegistryKey root = Registry.ClassesRoot;
//generic list to hold all...
Создание точки восстановления Windows с помощью WMI (Сreate a System Restore point): Справочник по...
Данный пример позволяет легко и просто создавать точки восстановления Windows, не только на локальной ПЭВМ, но и на удаленной!
private void button2_Click(object sender, EventArgs e)
{
if...
Получение температуры процессора с помощью WMI: Справочник по C#
Для получения информации о температуре центрального процессора и системной платы воспользуемся одной из базовых технологий для централизованного управления и слежения за...
Включаем/выключаем удаленный рабочий стол: Справочник по C#
try
{
RegistryKey key =
RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, TargetMachine.Name);
key = key.OpenSubKey(@"SYSTEMCurrentControlSetControlTerminal Server", true);
object val = key.GetValue("fDenyTSConnections");
bool state = (int)val != 0;
if (state)
{
key.SetValue("fDenyTSConnections", 0, RegistryValueKind.DWord);
MessageBox.Show("Remote Desktop is now ENABLED");
}
else
{
key.SetValue("fDenyTSConnections", 1,...











