10 Ocak 2021 Pazar

WaitForSingleObject

Örnek
Şöyle yaparız
HANDLE event = CreateEvent(NULL,TRUE,FALSE,NULL);
WaitForSingleObject(event,1);

30 Aralık 2020 Çarşamba

Windows netstat komutu

-p seçeneği
Örnek
Şöyle yaparız
netstat -ant -p tcp | findstr LISTENING
Çıktı olarak şunu alırız
TCP    127.0.0.1:8081        0.0.0.0:0       LISTENING   InHost
TCP    127.0.0.1:9092        0.0.0.0:0       LISTENING   InHost

21 Aralık 2020 Pazartesi

Powershell Type Contstraint

Giriş
[int], [string] gibi kodlanır. Bu alana null değer atanamaz. 

Örnek
Elimizde şöyle bir kod olsun
class test {
    [int]$i1 = 42
}
    
$test = [test]::new()
Write-Host $test.i1
$test.i1 = $null
Write-Host $test.i1
Çıktı olarak şunu alırız. Yani alana null değeri verilemiyor.
42
0

16 Aralık 2020 Çarşamba

Powershell Get-ChildItem - Dizinin Altındakileri Verir

Giriş
Verilen dizinin altındakileri alır. İlgili bazı diğer komutlar şöyle
Powershell CMD Action

Set-Location cd         Change Directory

Get-ChildItem dir         Read Contents

Rename-Item ren         Rename File

Get-Help         /?         See Help

Remove-Item del         Delete Files

Copy-Item copy Copy Files

New-Item         md         Create Directory (and files for PS)
Örnek
Şöyle yaparız
$DestDIR = 'C:\Destination'
$OrigDIR = 'C:\Origin'

Get-ChildItem $OrigDir | ForEach-Object {
 $OrigName = $_.Name
 $OrigPath = $_.FullName

 Get-ChildItem $DestDIR -Recurse | Where-Object {$_.Name -eq $OrigName} | ForEach-Object {
   $DestPath = $_.FullName
   Copy-Item $OrigPath $DestPath -Force
 }
}
-Path seçeneği
Örnek
Şöyle yaparız
CMD Example: dir c:\exampledirectory

Powershell Example: get-childitem -path c:\exampledirectory

-Recurse seçeneği 
Dizinin tüm alt dizinlerini de dolaşır.

23 Kasım 2020 Pazartesi

WindowProc CallBack

Giriş
Gelen mesajları işleyen koddur. Bu kodda kendi swith/case kodumuzdan sonra en altta return DefWindowProc() çağrısı yapmak gerekir.

Örnek - WM_CREATE
Şöyle yaparız. Bir EditBox ve bir Button yaratır. Düğmeye tıklanınca MessageBox gösterir.
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  int wmId, wmEvent;
  PAINTSTRUCT ps;
  HDC hdc;
  TCHAR heading[] = _T("CD ROM READER");
  TCHAR CSCI_No_Inst[] = _T("Please enter the CSCI No below:");
  TCHAR CSCI_NO[60];
  switch (message)
  {
    case WM_CREATE:
    {
      TextBox = CreateWindow(TEXT("EDIT"), TEXT(""),
        WS_VISIBLE | WS_CHILD | WS_BORDER,
        150, 140, 250, 25,
        hWnd, NULL, NULL, NULL);

      HWND hwndButton_Enter = CreateWindow(
        L"BUTTON", L"ENTER",
        WS_VISIBLE | WS_CHILD | WS_BORDER,  //Styles
        405, 140, 70, 25,
        hWnd, (HMENU)ENTER_BUTTON, NULL, NULL);
      return 0;
    }

    case WM_COMMAND:
    {
      switch (LOWORD(wParam))
      {
        case ENTER_BUTTON:
          int gwtstat = 0;
          TCHAR title[] = _T("CSCI_NO");
          gwtstat = GetWindowText(TextBox, &CSCI_NO[0], 60);

          TCHAR buff[100] = L"";
          TCHAR name[] = _T("CSCI_NO");
          wsprintf(buff, L"The CSCI No you entered is: %s", CSCI_NO);
          MessageBox(hWnd, buff, title, MB_OK);
          break;
      }
      return 0;
    }
    case WM_DESTROY:
      PostQuitMessage(0);
      return 0;
    }
  return DefWindowProc(hWnd, message, wParam, lParam);
}
Örnek - WM_DESTROY
Şöyle yaparız
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM  lParam)
{
  switch (uMsg)
  {
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;

    case WM_PAINT:
    {
      PAINTSTRUCT ps;
      HDC hdc = BeginPaint(hwnd, &ps);

      FillRect(hdc, &ps.rcPaint, (HBRUSH) (COLOR_WINDOW + 1));

      EndPaint(hwnd, &ps);
    }
      return 0;
  }
  return DefWindowProc(hwnd,uMsg,wParam,lParam);
}

6 Kasım 2020 Cuma

wmic komutu - Windows Management Instrumentation Command-line

Giriş
wmic Windows Management Instrumentation Command-line anlamına gelir.

/? seçeneği
Yardımı gösterir

CPU seçeneği
Şöyle yaparız.
wmic CPU
Bazı alanları görmek istersek şöyle yaparız.
wmic CPU get Name,NumberOfCores,NumberOfLogicalProcessors
Çıktı olarak şunu alırız.
Name                                     NumberOfCores  NumberOfLogicalProcessors
Intel(R) Core(TM) i7-xxxx CPU @ x.xxGHz  8              16
Monitor seçeneği
Örnek
Şöyle yaparız
wmic path Win32_DesktopMonitor get /format:list
Örnek
Şöyle yaparız
twmic path Win32_VideoController get /format:list
Örnek
Şöyle yaparız
wmic path CIM_VideoControllerResolution get /format:list
Pil Seçeneği
Şöyle yaparız
wmic path Win32_Battery get Caption,Description,DeviceID,Name
Process Seçeneği
Şöyle yaparız
wmic process > processes.txt

4 Kasım 2020 Çarşamba

Hosts Dosyası

Giriş
Açıklaması şöyle
The hosts file in windows is located at C:\Windows\System32\Drivers\etc\hosts.