Jak to działa z importowaniem bibliotek

Jak to działa z importowaniem bibliotek
D5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 89
0

Witam mam pewne pytanko, Albowiem zacząłem ostatnio interesować się jak np. zrobić jakiś wzór bądź coś narysować na pulpicie poza oknem aplikacji i gdy poszperałem w sieci zobaczyłem jak to się robi, ale zauważyłem ze często w kodze powtarzało sie importowanie dll i mam pytanie, dlaczego i jak działa takie importowanie dll, dlaczego nie można od razu całej biblioteki zaimportować nie znam jeszcze wszystkiego i bardzo bym chciał wiedzieć jak to działa.

Tutaj taki przykład żeby dokładniej było wiadomo o co mi chodzi

Kopiuj
[DllImport("User32.dll")]
static extern IntPtr GetDC(IntPtr hwnd);

[DllImport("User32.dll")]
static extern void ReleaseDC(IntPtr dc);

private void DrawDeskTop()
{
  IntPtr desk = GetDC(IntPtr.Zero);
  using (Graphics g = Graphics.FromHdc(desk))
  {
    g.FillRectangle(Brushes.Red, new Rectangle((SystemInformation.WorkingArea.Width / 2) - 4, (SystemInformation.WorkingArea.Height / 2) - 20, 8, 40));
    g.FillRectangle(Brushes.Red, new Rectangle((SystemInformation.WorkingArea.Width / 2) - 20, (SystemInformation.WorkingArea.Height / 2) - 4, 40, 8));
  }
  ReleaseDC(desk);
}
neves
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1114
1

Bo te dll operują na kodzie nie zarządzanym, a my w C# operujemy na kodzie zarządzanym przez co musimy się trochę natrudzić by dostać się na tamten świat:
Platform Invoke (P/Invoke)

D5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 89
0

A czy są może alternatywne metody żeby przesłać obraz od razu na pulpit bez podpinania tych dll?A jeżeli są to podał byś jakiś przykład? (w ramach nauki oczywiście)

PP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Da się podpiąć bezpośrednio pod framebuffer i gryzdać po ekranie, ale trzeba tryb graficzny wyłączyć.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.