[C#] message.create co to ejst WParam i LParam? (WinAPI)

0

Znalalzem jak wysylac message do konkretnego komponentu np okna, ale... jak chce wyslac rpzykladowo WM_MINIMIZE do okienka to czy musze poza handle okna podac cos (zapewne zero) w polach wparam i lparam? i w ogole do czego one są?

[Dopisane]

ktoś może wie jak i gdzie znalezc wartosci odpowiednich "message" bo wiadomo kto... nie pomyslal za bardzo [sciana] i nie dal predefiniowanych stalych takich jak WM_MINIMIZE etc... i trza recznie podawac wartosc... :[

0

WM_MINIMIZE sie nie wysyla tylko odbiera. Kazdy komunikat ma dodatkowe informacje w lparam i wparam. I tylko po to to sluzy. A jak chcesz znac czym sie zajmuja te komunikaty i jakie informacje sa przechowywane w parametrach to wejdz na strone msdn w dziale library i tam w wyszukiwarce wpisz komunikat a bedziesz mial odp.

0

rzecz w tymz e np taki bcb ma zdefiniowana wartosc WM_MINIMIZE a w c# w wydaniu MS ni ma takich stalych... it rza tworzac wiadomosc wpisac recznie wartosc...

PS zeby wiadomosc byla odebrana musi byc nadana no nie :>

[dopisane]
linki w library znalezione ciut przypadkiem... mam nadzieje ze ktos kto tu zajrzy szukajac info na ten temat bedzie mial z nich pozytek. Oto one:

Message http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsmessageclassmsgtopic.asp
LParam http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsmessageclasslparamtopic.asp
WParam http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsmessageclasswparamtopic.asp

PS w wyszukiwaniu w library wpisalem WM_MINIMIZE i... zonk nie znalazl nic...

[Dopisane 2]

przeczytalem i nadal nie wiem jaka wartosc mam podac zeby wyslac info ze okienko ma sie zminimalizowac... WINSHIT + MAKROSHIT = MEGA SHIT [diabel]

jak ktos wie jak wyslac wiadomosc innemu okienku zeby sie zminimalizowalo/zmaksymalizowalo prosze o posta. Nie musi to byc dokonywane rpzez message byle dzialalo w C#

Ew. mile widziana lista wiadomosci z ich HEX wartosciami tak jak np WM_ACTIVATEAPP = 0x001C;

0

Wpisz po prostu w kodzie:

public const int WM_SYSCOMMAND = 0x0112;

I użyj tego.

Tu masz przykład maksymalizowania - z łatwością podmienisz komunikat i będziesz miał co chciałeś.
http://blogs.ugidotnet.org/ThePowder%20blog/

0

Dzieki jestes boski (chociaz Bogiem nie jestes :]). Mam tylko nadzieje ze zadziała. I jednak mimo wszystko przydalby sie jakis spis wszystkich mozliwych wiadomosci systemowych i ich znaczenia :)

Jesli ejstes z warszawy to masz browca u mnie [browar] czy co tam pijasz ;)

0

Znalazłem to na google po jakiejś minucie :]

Igorz napisał(a)

I jednak mimo wszystko przydalby sie jakis spis wszystkich mozliwych wiadomosci systemowych i ich znaczenia :)
Mówisz, masz -> http://marooned.neostrada.pl/4prog/misc/w32.rar
Co prawda notacja dla Assemblera, ale machniesz jakieś wyrażonko regularne w EditPlusie czy czymkolwiek i przerobisz sobie na notację C# :)

Do stolicy daleko mam, ale kiedyś zawitam odwiedzić BUM i ekipę ;)

0

OMG!!! zara co ja mowie... [sciana] ty jestes bogiem... bogiem programowania :P...

dawno tutaj nie zagladalem ale pamietam ciebie jeszcze z poczatkow 4programmers... ile ty postow dziennie dajesz ze masz tyle. Ale to juz zaczyna schopdzic na offtopic... szkoda ze ni ma prywatnych wiadomosci w tym forum... chiba do Adama napisze w tej sprawie ;P

Marooned napisał(a)

(...)Co prawda notacja dla Assemblera, ale machniesz jakieś wyrażonko regularne w EditPlusie czy czymkolwiek i przerobisz sobie na notację C# :)(...)

eee a jaki jest zapis assemblerowy a ten w C# bo assemblerowy ten z tego pliczku to HEX jak mniemam a w C# pojecia ni mam... [???]

0
Igorz napisał(a)

szkoda ze ni ma prywatnych wiadomosci w tym forum... chiba do Adama napisze w tej sprawie ;P
Look:
http://4programmers.net/Forum/viewtopic.php?id=60396
Co prawda to w RoadRunner, ale gdyby znalazł się śmiałek, to by się do Coyote też zrobiło.
Istotna dla mnie sprawa w sumie...

ale to już max OT i koniec tego skoku w bok

Igorz napisał(a)

a w C# pojecia ni mam
ee, przeca podałem 2 posty wyżej!

public const int WM_SYSCOMMAND = 0x0112;
0

Czyli co po prostu opuscic h na koncu?

Mi biega z tego twojego pliczka podam przyklad
WS_MINIMIZE EQU 020000000h (ASM)
to w C# bedzie
public const int WM_MINIMIZE = 0x20000000 (C#)
innymi slowy czy jakos trzeba przeliczac czy nie?

Bo ten przyklad co go z google znalazles to ja rozumiem i dziala :) tylko na przyszlosc pytam jaki jest zapis w C#? hex oct czy jak?

0

ShowWindow(SW_MINIMIZE);
albo wyslij WM_SIZE i w wParam SIZE_MINIMIZED
lub zmien styl okna na:
#define WS_MINIMIZE 0x20000000L

BTW: Skad wzieliscie WM_MINIMIZE ? :)

[edytowane]
#define SW_MINIMIZE 6
#define WM_SIZE 0x0005
#define SIZE_MINIMIZED 1

[edytowane2]
Pierwszy link na Google :)

0

Ugh... ciężki wątek...

Igorz - nic nie trzeba przeliczać. 12abh [asm] == 0x12ab [C]

Malcolm napisał(a)

[edytowane2]
Pierwszy link na Google
A co ja podałem w moim pierwszym poście w tym wątku? [glowa]

[<font color="blue">dopisane</span>]
do postu poniżej:
nie pisałem o przeliczaniu ale o przerobieniu notacji - czytaj uważniej :>

P.S.
A bogiem nie jestem [green]

0

to jakie wy haslo wpisywaliscie ze znalezliscie... ja probowalem chiba 2 godizny nim tu napisalem i zonk...

PS liste roznych message podal Marooned
http://marooned.neostrada.pl/4prog/misc/w32.rar

[Dopisane]
no i tylko o to chcialem sie upewnic bo pisales cos o przeliczaniu w jakims EditPlus'ie czy cos i mnie to troche zdezorientowalo :)

Nio to chiba juz wsio jasne jak ktos moze to Topic OFF

0

Marooned: Nie wiem, nie klikalem na urle.

Igorz: w google wpisalem 'c# wm_minimize' :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1