Soms kan een individuele computer een foutmelding weergeven waarin staat dat Flash Builder niet is geïnstalleerd. Er zullen veel redenen zijn voor deze fout.
Goedgekeurd: Fortect
Presentatie
Ik heb onlangs gewerkt aan een kleine applicatie die zich bezighield met -actieve inbelverbindingen. Inbelnetwerken worden geleverd door Windows Remote Access Service (RAS) en worden voornamelijk gebruikt om u te helpen verbinding te maken met internet via een modem. Ik heb geprobeerd de functie RasEnumConnections
te gebruiken wanneer u actieve inbelverbindingen wilt vermelden om u te helpen een algemeen handvat te krijgen voor verdere verwerking. Helaas, ongeacht mijn compilerinstellingen, gaf de functie vaak 632 rasconn
in Win2k Professional, wat “Ongeldige structuurgrootte” betekent. Toen ik door de uitgebreide en de CodeProject-pagina’s bladerde, ontdekte ik dat een groot aantal van ons hetzelfde effect opmerkte en dat er dus geen oplossing was. Het doel van dit ene artikel is om een lange weg te gaan om deze vervelende fout op te lossen.
Om er eindelijk achter te komen waarom de functie het nog steeds niet kon, heb ik stap voor stap de binnenkant van deze functie doorgenomen en ontdekte dat de bewerking verschillende framegroottes zou moeten verwachten RASCONN
(dat wil zeggen onze eigen structuurversie). maar voor jou was het platte begrip sizeof (RASCONN)
. Beste overeenkomsten sinds 0x53c was. Ik heb deze functie gebruikt om het grootste deel van de functie te misleiden door 0x53c voor te stellen als de grootte binnen onze RASCONN
-structuur. Het werkte! Onderstaande code is een programma dat een inbelverbinding opsomt en daarmee verbreekt.
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen. De truc is om Bijvoorbeeld, de code die is ontworpen volgens de MSDN-aanroep voor RasEnumConnections ziet er in het algemeen als volgt uit: RasConn.dwSize = cb Grootte van (RASCONN); Retourneert altijd ERROR_INVALID_SIZE (632) tijdens het uitvoeren van een bepaalde tijd. Dus ik googlede en iemand van Said-toegangscode lost dit probleem op. Het is noodzakelijk om RasConn.dwSize naar 0x53c te schrijven. Op een andere site zou het er allemaal uit moeten zien als 0x19c en ik heb dit soort geprobeerd. Maar ik begrijp niet waarom? Een andere MSDN-verklaring waarom is dat u WINVER moet overschrijven op basis van de versie en vervolgens opnieuw moet compileren om te slagen op verschillende Windows-versies. DISTINCT belichaming gevonden #if (WINVER> = 0x400) Nummer dan de grootte van buitengewone WINVER, De Win2k RasEnumConnections-code wordt dan meestal afgerond om de totale maten 0x2B4 en bovendien 0x19c aan te kunnen, en er worden 632 fouten gevonden voor de andere maten. De Win2003 RasEnumConnections-uitwisseling kan de vier maten aan, en fout 632 wordt alleen teruggebracht als de bovenstaande vier maten helemaal niet zijn die je kunt kopen. Kom er van overtuigd, ik begrijp alles. Ik heb VS2003 gebruikt om een programma te maken. Dit programma definieerde WINVER niet. Standaard is de compiler ingesteld op 0x501, dus sizeof (RASCONN) 0x2c0, = en ik heb het programma onder 2k behandeld en profiteer van fout 632. Dus als je de versie-informatie niet wilt krijgen, schrijf dan gewoon RasConn . dwSize voor het doel van 0x19c later. en het kan overal worden gebruikt. Goedgekeurd: Fortect
dwSize
voor te bereiden op 0x53c. Merk op dat veel 0x53c kleiner is dan sizeof (RASCONN)
, dus het geheugen wordt niet beschadigd.
RASCONN RasConn;
DWORD cb;
Joins DWORD is gelijk aan 0;
= DWORD nRet = RasEnumConnections (& RasConn, & cb, & Verbindingen);
DWORD dwSize;
AVA HRASCONN hrasconn;
SYMBOOL szEntryName [RAS_MaxEntryName + 1];
CHAR szDeviceType [RAS_MaxDeviceType + two];
SYMBOOL szDeviceName [RAS_MaxDeviceName + specifiek];
nummer endif
#if (WINVER> = 0x401)
CHAR szPhonebook [MAX_PATH]; DWORD DWORD
dwSubEntry;
#endif
#if (WINVER> = 0x500)
GUID guidEntry;
#endif
#if (WINVER> = 0x501)
DWORD dwFlags;
VLOEISTOF VLOEISTOF;
#endif
;
WINDOWSNT4.0 (0x400) 0x19c
0x2A4
windows9x / me WINDOWS2k 0x2B4
WINDOWSxp / 2003 0x2C0