Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

API-ji

[es] :: .NET :: API-ji

[ Pregleda: 7233 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

*.net

Član broj: 4660
Poruke: 138
*.87.EUnet.yu



Profil

icon API-ji09.08.2002. u 13:26 - pre 264 meseci
U 6- je ovo radilo. U msdn-u ima price o declare da posle njega treba staviti parametar "auto" ,ne radi ni tako. Kako se sada deklarisu apiji? Evo ovo sam dole probao to je ona fora iz 6-tice da registrujes exe da moze da radi samo na tom hard disku ciji seriski broj ti definises. Znaci funkcija bi trebalo da podesi izmedju ostalog i promenljivu drvserialno medjutim u .NET-u mi on uvek podesava na nulu umesto serial od hadra.


Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long



Private Sub Form_Load()

Dim drvserialno As Long
Dim mydrvlabel As String
Dim myfilesys As String
Dim i As Long
Dim j As Long
Dim x As Long

Dim number as Long

x = GetVolumeInformation("C:\", mydrvlabel, 256, drvserialno, i, j, myfilesys, 256)
If drvserialno <> number Then
End
End If
End Sub
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: API-ji09.08.2002. u 16:00 - pre 264 meseci
Probao sam onaj API i ne radi ni kod mene :( . Evo linka u MSDN-u gde se pominje slican bug :

ms-help://MS.VSCC/MS.MSDNVS/kbwin32/Source/win32sdk/q234741.htm

A evo nekog resenja preko FileSystemObject-a :

Ovo moze da ide u neku proceduru :

Dim drajv As Scripting.Drive
Dim fso As New FileSystemObject()
drajv = fso.GetDrive("c:")
MsgBox(drajv.SerialNumber)

Pre ovoga mora da se doda referenca na Microsoft Scripting Runtime i naravno :
Imports Scripting

Evo i korisnog linka u MSDN-u :
ms-help://MS.VSCC/MS.MSDNVS/vbcn7/html/vbconintroductiontofilesystemobjectmodel.htm

fire, walk with me
 
Odgovor na temu

*.net

Član broj: 4660
Poruke: 138
*.72.EUnet.yu



Profil

icon Re: API-ji09.08.2002. u 17:03 - pre 264 meseci
hm znaci bag,hvala. sada cu pogledati linkove. svaka cast za linkove u msdn-u na disku. svi su do sada davali link na microsoft-u, a ja jadan preko euneta u lite rezimu :).
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: API-ji09.08.2002. u 21:59 - pre 264 meseci
Ipak se okrece :)

Elem, malo cemo samo da prepravimo onaj tvoj kod:

Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Int32, _
ByRef lpVolumeSerialNumber As System.UInt32, _
ByRef lpMaximumComponentLength As Int32, _
ByRef lpFileSystemFlags As Int32, _
ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Int32) As Int32

odnosno,

Dim drvserial As System.UInt32
Dim mydrvlabel As String = Space$(200)
Dim myfilesys As String=space$(200)
Dim i As Int32
Dim j As Int32
Dim x As Int32

Dim number As Int32

x = GetVolumeInformation("C:\", mydrvlabel, 200, drvserial, i, j, myfilesys, 200)
MsgBox(drvserial.ToString & " - " & mydrvlabel)
MsgBox(myfilesys)


HTH

[Ovu poruku je menjao degojs dana 10.08.2002 u 03:01 AM GMT]
Commercial-Free !!!
 
Odgovor na temu

*.net

Član broj: 4660
Poruke: 138
*.83.EUnet.yu



Profil

icon Re: API-ji09.08.2002. u 23:03 - pre 264 meseci
zaista radi ovako, koliko vidim samo je long -->> Int32... za sada ne vidim nista drugo. A inace sa long radi provereno u sestici. To je znanje ;). Mozes li nam reci sta je prob?

odnostno vidim neke kukice al ne znam sta su :)
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-1.dialup.nethere.net



+6 Profil

icon Re: API-ji10.08.2002. u 02:09 - pre 264 meseci
Long je u 6-tici 32-bitna celobrojna vrednost, a kod .NET-a 64-orobitna. Mislim da je jc_denton to već pomenuo u FAQ-u.
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: API-ji10.08.2002. u 09:13 - pre 264 meseci
Pored ovog sto ti je Dragi Tata rekao, skrenuo bih samo paznju da "imas" izbor izmedju signed i unsigned tipova (Int32 i UInt32; sa predznakom i bez), tj. trebalo bi pogledati kako je funkcija definisana izvorno u c/c++ - cisto sumnjam da je signed tako da je mozda pametnije staviti UInt32 na svim mestima ?; gore u kodu takodje je bilo potrebno neke parametre u zaglavlju funkcije definisati sa ByRef, bas taj parametar za serijski broj sto tebi treba.
Eh da, moras i da napravis bafer za stringove ( =space$(xxx) ) samo cini mi se, ne mogu sad da tvrdim (a nesto sam umoran da potrazim:), da ne treba bas ici na 255 nego manje hm hm... potrazicu ovih dana ako budem bas besposlen :))

Commercial-Free !!!
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: API-ji10.08.2002. u 10:22 - pre 264 meseci
Da, sve ovo stoji, samo treba imati u vidu da MS ne preporucuje koriscenje 'starih' API funkcija a ne postoji vise ni API Viewer koji je bio standardna alatka VB 6.0 programera recimo. Uzmimo recimo novi picture box u VB.NET-u koji sada nema hDC property (handle to device context) preko koga vecina 'starih' GDI funkcija 'odradjuju posao'. Znaci koriscenje starih API-ja polako i sigurno gubi smisao, a za pomenuti GDI, MS je dao novo resenje - GDI+.
Evo korisnog linka u MSDN-u o promenama u 'grafici' :
ms-help://MS.VSCC/MS.MSDNVS/cpguide/html/_gdiplus_changes_in_the_programming_model_about.htm

Ipak, ko zeli da koristi stare dobre 'API-je', trebao bi bar da ima nesto kao API Viewer i evo jednog pokusaja da se to odradi za .NET alate :
http://www.c-sharpcorner.com/Tools/APIViewerCodePKS.zip (svega 94k)
Potrebno je da se ucita Win32API.Txt fajl kao u starom viewer-u, i trebalo bi da vam je u ovom folderu :
drajv :\Program Files\Microsoft Visual Studio .NET\Common7\Tools\Bin\Win32API.Txt
Na zalost kod mene ovaj program ne radi :( , ali to ne znaci da nece da radi kod nekog drugog.
Ako neko drugi ima neku slicnu alatkicu za .NET, zamolio bih za link.

Pozdrav

fire, walk with me
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: API-ji10.08.2002. u 13:00 - pre 264 meseci
Mozda MS ne preporuca upotrebu Win32 API-ja ako zamena u .NET-u postoji, kao u slucaju GDI+ - tada je to potpuno razumljivo. Medjutim, kada direktna zamena za Win32 API funkciju ne postoji u .NET-u tada izbora i nemas.

Cesto se na MS newserveru mogu naci odgovori ljudi koji rade na samom .NET-u i cesto bas oni upucuju na PInvoke jer jednostavno drugog resenja nema. Kad ga ponude kroz klase u .NET - blago nama.

Ma nije slucajno sto je jedino C++ preziveo iz verzije 6 u verziju 7 V. Studija - nece Win32 API nigde da pobegne, niti moze, a osim toga, trenutno nasledje je ogromno. Druga je stvar ako programiras za .NET platformu i zoves Win API a imas zamenu u .NET-u - tvoj problem.

Jeste da sve ide u tom pravcu da komplet Win32 API bude izlozen kroz .NET klase ali o tom - po tom: verovatno ce jos duuuugo postojati aplikacije koje ce ili morati ili imati vise koristi od cistog Win32 API pozivanja. Pocevsi od samog MS-a i njegovog softvera.



Commercial-Free !!!
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: API-ji10.08.2002. u 17:36 - pre 264 meseci
Hm, vidi ovako. Sto se mene licno tice, vise bi voleo da sve ostane po starom, a kada to kazem mislim na funkcionalnost tih 'starih' API funkcija koje sam do sada koristio i to obilno :). E, sada mi nekako deluje klimavo da koristim neke stare API funkcije neznajuci kakav je ishod. Je l' si probao neku od starih Window funkcija u nekom .NET programu ? Da li rade sve? Nisam ja za dzabe pomenuo hDC, nego zato sto nedostatak istog 'izbaca' iz upotrebe jednu veliku gomilu API funkcija koje rade sa grafikom, prozorima i fontovima recimo. Sta je jos promenjeno do te mere u VB.NET-u ostaje nam da vidimo i setimo se da nesto fali, zbog cega ne moze da se upotebi neki stari dobri 'API'.

Hocu da kazem da sve ovo mora da se isproba, da ne bi posle bilo ono : 'e, da l' je moguce da za*ebava?!'.
Kao sto si rekao, a i ja se toga drzim, prvo treba da se vidi da li je trazena funkcionalnost izlozena preko neke od .NET klasa, a ako zapne tu je stari dobri Win32 API, samo da radi kao pre, tj. da moze na isti nacin da se upotrebi :)
fire, walk with me
 
Odgovor na temu

NeznamTkoSam

Član broj: 39660
Poruke: 279
*.cmu.carnet.hr.



Profil

icon Re: API-ji20.12.2004. u 22:38 - pre 235 meseci
Downloadajte API Viewer. Ima veeeliki popis API funkcija. Dok kliknete na funkciju, pokaze kod koji morate kopirati u svoj program da bi koristili tu funkciju.
 
Odgovor na temu

[es] :: .NET :: API-ji

[ Pregleda: 7233 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.