[ BIG FOOT @ 16.09.2004. 20:46 ] @
Navedite neke API funkcije koje cesto koristite.Uz nacin upotrebe i sto ih koristite :o |
[ BIG FOOT @ 16.09.2004. 20:46 ] @
[ morlic @ 16.09.2004. 22:50 ] @
Kakvo ti je to pa sad pitanje? Sta mislis, neko ima omiljenu API funkciju pa je koristi svaki cas? Postavi konkretno pitanje za neku API funkciju pa da odgovaramo :)
[ ADRENALIN @ 23.10.2004. 00:57 ] @
Evo ja konkretno.Šta su API funkcije, mislim znam definiciju nego kako se koriste, d li su drugačije na različitim Windowsima.Kako se ubacuju recimo u Visual C++.Da li je to komplikovano ili ne.Da li pomoću njih možemo otvoriti portove računara?
[ sasas @ 23.10.2004. 22:06 ] @
Citat: morlic: Kakvo ti je to pa sad pitanje? Sta mislis, neko ima omiljenu API funkciju pa je koristi svaki cas? Zasto da ne? Ima stvarno u APIju kamara bisera, beskorisnih ili 'cudno' napisanih funkcija/struktura, koje bi vredelo prikupiti na jednom mestu. recimo FILETIME: as known, Windows stores time stamps in FILETIME format, a 8-Byte-Value. FILETIME format is the number of ticks, in 100ns increments, since 00:00 1 Jan, 1601 (UTC). Strasno me zanima na koji nacin su ustanovili 1601. kao godinu od koje ce poceti brojanje? ss. [ morlic @ 24.10.2004. 00:29 ] @
To jedno mesto se zove MSDN i u njemu imas gomilu podataka (par giga) koje se ticu windows API-a, a i sire od toga. Ko god zeli da se zeza sa Windows API-jem bez MSDN-a bolje da ne krece.
Inace API je skracenica za Application Programming Interface i predstavlja nacin da obicne aplikacije pristupe mnogobrojnim windows funkcijama (takoreci servisima) razlicitih namena. Radi se uglavnom o funkcijama koje se nalaze unutar DLL biblioteka pisanih na C-u. U novije vreme pristup nekim stvarima se moze ostvariti i na druge nacine, npr. preko COM-a. Kada napises obican windows program u Delphi-u, makar sa jednom formom, on u pozadini koristi najmanje nekoliko desetina API funkcija za da bi radio. Ovih dana se na forumu pojavilo i pitanje za PostMessage funkciju. I ona predstavlja deo Win API-a. Razliciti Windows sistemi imaju i donekle razlicite API-je. Recimo Windows 2K ili XP imaju API funkcije za rad sa NTFS fajl sistemima dok obican Win9x sistem to nema. Razlika ima mnogo, ali ima i mnogo istih, inace programi ne bi bili prenosivi izmedju razlicitih Windows-a. Da bi se neka API funkcija koristila u programu mora da se napravi import deklaracija sa nazivom funkcije i dll biblioteke u kojoj se nalazi: Code: interface function PostMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL; stdcall; implementation function PostMessage; external 'user32.dll' name 'PostMessageA'; Naravno ovo je jedan od nacina da se uveze funkcija iz dll-a (staticki nacin). Postoji i dinamicki ali to je druga prica. [ ADRENALIN @ 24.10.2004. 03:21 ] @
Šta je MSDN i gde mogu to da nađem?Pretpostavljam da je to pomoć.Ja sam to dobio na dva diska uz Visual C++ 6 ali tamo nisam našao ništa o API funkcijama.Jel To To?
[ morlic @ 24.10.2004. 11:23 ] @
MSDN je Microsoft Developers Network i moze se naci uz Visual Studio, ili odvojeno. Predstavlja bazu podataka za programere na prvom mestu, i sadrzi gomilu informacija, od windows API-a do resavanja problema vezanih za MS proizvode. MSDN postoji u cini mi se nekoliko varijanti pa je pitanje koju ti imas. U svakom slucaju nije lose imati punu varijantu. Takodje je bitno od kada je odredjeni MSDN jer MS redovno izbacuje novije verzije.
[ reiser @ 24.10.2004. 12:37 ] @
I koji mi vi MSDN preporucujete da nadjem (verzija, mesec itd) ? Radim u Delphi 7...
[ sasas @ 24.10.2004. 14:42 ] @
Citat: Marko Paunovic: I koji mi vi MSDN preporucujete da nadjem (verzija, mesec itd) ? Radim u Delphi 7... Za pocetak, mozda ti je najbolji help koji dolazi uz Delphi. Ides na help meni -> Windows SDK, i to je to. Mnogo funkcija iz APIja je vec importovano kroz unit windows. Te se mogu koristiti bez importovanja o kom je morlic pisao. dakle samo ovako: Code: unit MyForm; uses ... windows, ...; implementation procedure MyProc; begin ExitWindowsEx(EWX_FORCE, 0); // ovo je api funkcija za shutdown end; [ reiser @ 24.10.2004. 14:54 ] @
Ovako, ja imam MSDN 6.0 i on mi je za sada dovoljan... Ali, uskoro cu imati priliku da downloadujem dosta giga sa net-a i zato vas pitam koji MSDN mi preporucujete da skinem ?
[ ADRENALIN @ 24.10.2004. 15:15 ] @
Ja imam dva diska MSDN-a koja idu uz Visual Studio 6.0.Ovaj studio je izgleda izašao pre XP-a pa nikako nisam mogao da nađem NIJEDU funkciju za direktan pristup portu, ne mislim direktan u smislu da šaljem pravi hexsa adresu kao 0x378 nego da jednostavno otvorim instalirani port recimo LTP.Kako se ovo radi u Visual Studiu 6.0 sa C++ -om?Da li u toj verziji ima API za to?
Postoji li nova verzija Visual Studija ili ovog MSDN-a.I gde skinuti ovo drugo? [ reiser @ 24.10.2004. 16:03 ] @
Citat: I gde skinuti ovo drugo? p2p [ morlic @ 24.10.2004. 17:40 ] @
Pristup portovima je smisljen daleko pre WinXP-a. Koriste se verovao ili ne iste funkcije kao za rad sa fajlovima uz naravno neke dodatke kao sto je asinhroni rad, sinhronizacija, itd. (mada i sa fajlovima postoji as. rad kad se prisetim :). Nema direktnog rada sa portovima kao u vreme DOS-a. U MSDN-u 2003 imas i citav jedan clanak na tu temu:
ms-help://MS.MSDNQTR.2003FEB.1033/dnfiles/html/msdn_serial.htm [ ADRENALIN @ 24.10.2004. 22:45 ] @
Nisam to mislio nego kod XP-a je zabranjen direktan pristu portovima, u Visual Studiu 6.0 nema govora o tome jer je zastarelo u odnosu na XP.
[ nikola.j @ 24.10.2004. 22:56 ] @
>
> Još u NT4 (a verovatno i NT 3.nešto, ali to je pre mog vremena:) je bilo "zabranjeno" pristupati bilo kom hardveru direktno. Postoji nešto što se zove HAL (Hardware Abstraction Layer). Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|