Jump to content

jumper

Member
  • Posts

    1,935
  • Joined

  • Last visited

  • Days Won

    7
  • Donations

    0.00 USD 
  • Country

    United States

Everything posted by jumper

  1. Use Clipboard Viewer to track what text has been copied to the clipboard. If you select and copy "Rich Text", many applications will not let you paste it. There is a third-party utility that will run in the background, monitor the clipboard, and convert rich text to plain text. Edit: Unicode text could also be the problem. More details here.
  2. >That means that now newer SumatraPDF versions are usable 2.1.1 work great for me. It's the fastest and best of the line and has become my default PDF viewer. > The print dialog is the same like in SumatraPDF 0.8.1. Yes, the visible dialog is still PrintDlg. The data structure is pre- and post- processed to create the PrintDlgEx API. >The dialog appears in SumatraPDF versions 0.9, 1.5, 1.5.1, 1.6, 1.8, 2.1.1. Also 1.9. >I put the COMDLGEX.DLL into the SumatraPDF program folder and "hacked" the file SumatraPDF.exe with HexEdit by replacing the string COMDLG32.DLL by COMDLGEX.DLL (I hope that this was a useful method?). ImportPatcher could have been used, but two bytes are easy enough to change in a hex editor. Well done. Write a better dialog box function instead of reusing PrintDlg. A PrintHookProc could help. Or as a stop-gap measure, I can probably enable the "Selection" radio button: if it's selected upon return of PrintDlg, an additional MessageBox can be displayed that asks if you actually want odds or evens (Yes/No), or the document selection (Cancel).
  3. >That makes the error message go away, but now nothing seems to happen when foobar2000.exe is started.... We can get an app to load by using stubs, but functioning properly is often another story. >Any other ideas? Oldapps.com lists these four builds as being compatible with Win2000. They are our best chance for success. Use compatibility mode "Windows 2000". We don't want to advertise as XP since faking it clearly has not worked! > Has anyone gotten foobar2000 version 1.1.x or higher runs under win-98? >What is shared.dll? There is no Version tab when you look at it's file-properties. A shared dll that plugs-ins use to access the foobar2000 API.
  4. What's in the log file? That will tell us which api's are being used that we can try to do something about. I'm working on a new definitions file that will include stubs to duplicate KernelEx's built-in stubs (but not the better replacements). This will allow us to log all function stubs so we can get a better idea of what is getting called, and when.
  5. Set the compatibility mode for shared.dll to "Windows XP SP2".
  6. IPHLPAPI.DLL (5.1.2600.5512 (xpsp.080413-0852)) does have 'GetAdaptersAddresses !! Maybe this version can be used ? The XP file looks like a can of worms (Pandora's box), but you can certainly try it! I recommend trying Wild Bill's patched version for Win2K, MS11-020, instead. Read the following post as well and get both packages from the links in post #3. In the meantime, I suggest the following definition: Returns an error code (not status) and has five parameters: [iPHLPAPI.DLL] GetAdaptersAddresses=r120s5
  7. The Test 1 results are surprising, but good to know. Test 2 was sure to work using all four options at the same time--and naturally there is nothing in the log file, because the two functions are no longer stubbed! I just realized that the first two options can't help with this problem without addition configuration lines in several sections of Core.ini. However, '3' is a better default than '5' for ME systems and should prevent apps like Dependency Walker from misbehaving. Other apps that do need NT2K mode will need to be individually configured. The SHRegisterValidateTemplate stub should only exist for systems that don't have the IE6 shlwapi.dll. Upgrading the dll is probably better than adding the stub--I'll unstub it in the next release with a comment. If SHRegisterValidateTemplate is only called because GetUserGeoID exists, unstubbing GetUserGeoID may also solve the problem by itself. Otherwise just unstubbing SHRegisterValidateTemplate should also solve things. So after all that diagnosing and testing, it now seems that the solution was to simply look into the log file and unstub the last function handled!
  8. Tests to try: contents=std,Kstub822,kexbases,kexbasen This should work the same as "contents=Kstub822,std,kexbases,kexbasen". My reading of the KernelEx source code is that 'std' is assigned priority slot zero and then up to 255 modules are parsed from "contents=", skipping 'std' which is already assigned. contents=std,kexbases,kexbasen,Kstub822 with these options:Core.ini [ApiConfigurations] default=3 set compatibility mode of Explorer.exe to "Windows Millennium" comment out: [Kernel32.dll] ;GetUserGeoID comment out: [shlwapi.dll] ;SHRegisterValidateTemplate Good research! MSDN says: ERROR_CALL_NOT_IMPLEMENTED 120L is an extended error code for functions that call SetLastError. STATUS_NOT_IMPLEMENTED ((NTSTATUS)0xC0000002L) is a return code for functions that return an NTSTATUS value. We want the extended error code, so these should be correct: [Kernel32.dll] GetSystemWow64DirectoryA=z2e120 GetSystemWow64DirectoryW=z2e120 In the next beta, I'll change the default for 'e' from '1' to '120'
  9. I see no evidence that this is either a DOS app or even a 16-bit app at all. I think it's a Win32 console app. Is there a reason you keep us guessing instead of just telling us the name of the app?
  10. Mpr.dll:WNetRestoreConnectionA exists in Win98se. It is not in my VC5 documentation, so probably does not exist in Win95 nor WinNt 3.51. A few years ago a number of developers reported it missing in this MSDN thread. The answer seems to be Q&A #2 in this Dependency Walker FAQ:
  11. kernel32.dll: HeapQueryInformation is supported by KernelEx with a little help from Kexstubs. Foobar2000 has changed their api and older optional components don't work with the latest app and vice versa. See the FAQ for details.
  12. If your game needs long file names, then it isn't really an MS-DOS app. Perhaps you moved the installed files to a subdirectory that exceeds the MS-DOS path limit. If it really does need long files names, then it must have its own TSR or use a dos-extender to provide that support when running in real MS-DOS. If so, please elaborate. From what I've read on other sites, DOSBox should be the way to go once you've solved the file names/paths issue.
  13. If you have a 64-bit processor, 16-bit instructions need to be emulated. I don't think WOW can do that. Edit: AMD64 and Intel 64 processors can run 16-bit code when operating in "Legacy mode." According to http://en.wikipedia.org/wiki/X86-64#Legacy_mode: Thanks, Tripredacus!
  14. Kstubs816 now posted with better forwarding, better definitions + Forwards can now be abbreviated and commented + Many new forward definitions providing full function support + Complete definitions for all stubbed functions - Stepload support removed Note: Full-line comments got broken last week when I was trying a trick to avoid needing system restarts in some cases. The workaround is to remove from Kstub816.ini / stubs.ini all definitions that are commented out. I've posted a new download with the updated Kstub816.ini. Edit: 822 is what 816 was supposed to be. It has the same features, but without the full-line and end-of-forwards-line comment bugs.
  15. Reflectors: Deep Dish Cylindrical Parabolic Template google.com/images?q=wifi+antenna+reflector Cantenna:
  16. Your antenna is either a VHF or UHF (or a combo) antenna (there is no such thing as an "HDTV" antenna). It is tuned for a few hundred MHz, not 2.4 GHz. The cable also has the wrong impedance for wifi. If it is powered (has an amplifier), it cannot transmit, only receive. I really should just say , but if you're not afraid of frying the wifi adapter (or the antenna if it does have a built-in amplifier) please try it and report your findings! For a variety of reasons, however, you are more likely to have better success with a long wire. For a directional antenna, a "cantenna" is a better place to start than trying to adapt a tv antenna. After much research and experimentation several years ago, I settled on using a seven inch A/B stick antenna inside an aluminum pie tin reflector crudely bent into a pseudo-parabolic shape. My recommendation is to use the biggest wifi antenna you already have along with a metal reflector of some kind.
  17. Already in 98SESP3.3, so should work in ME as well. What app do you run that needs atl80? The only atl.dll on my SE machine is version 2.00.7274 B)
  18. msxml4.dll needs its subsystem version changed to 4.0, otherwise its dependencies look okay for 98se+. It should load as-is with Kex, or after patching. Let us know how the testing goes!
  19. It looks like PowerCheck is called in several places, so the easiest way to always pass the check might be this: Public Function PowerCheck PowerCheck = True End Function The better solution would be to hook up an AC adapter or recharge the battery. If power fails while you are updating firmware, that component (or the whole system) could be hosed permanently. The power check is there for a very good reason!
  20. Very good. This means that one of the definitions is colliding with a standard function or one in kexbases or kexbasen. I wasn't aware of any with SE other than the intentional PrintDlgEx, but will recheck. Testload.exe can be used to detect collisions (load addresses of functions in stubs.ini above 0x10001nnn), but I'll design a better tool. The reason for increasing the priority of Kstub730 was to override KernelEx on ComDlg32:PrintDlgExA/W. That can also be done with a .names definition in Core.ini: [NT2K.names] ComDlg32.PrintDlgExA=Kstub730.0 ComDlg32.PrintDlgExW=Kstub730.0 I've now rechecked for conflicts using TestLoad and found none on my SE system, but the Msvcr90.dll section would probably be an issue for those with the latest version installed (definitions are meant to augment the original version). Before Kstub730, [Msvcr90.dll] was missing the '0'.
  21. Yes, or leave it if it is still there. I'll correct post #51. Thanks! The prompt occurs because Kstub730 supports the '?' directive (whereas Kstub626 did not): ; =r#s#[e[#]][?] Remove the '?' to use the 't2' without prompting. I added the '?' because the function is undocumented and the 't' was a guess. Users can try 'f2' or 'r<n>s2' to change the return value. An 'e' can also be tried. This is the purpose of the prompt sequence: to be able to experiment with different options without restarting the app. When prompted, Cancel+Yes is equivalent to 't2'--what combinations of responses have or haven't worked for you? SHRegisterValidateTemplate was first introduced in Windows 2000, so you are using a W2K+ file somewhere in your WinMe(?) system. This isn't a bad thing, but it would be good to know what file is making the call. Please search your <WinSys> folder for files containing "SHRegisterValidateTemplate". Also, check what modules are in use by Explorer at the time of this prompt. Does your system that is not having a problem happen to be SE, or not have all the same SP's/upgrades? Thanks for the report and good followup!
  22. Both of these definitions already existed, so the problem is likely a definition that was removed. I'll address that in the next post. Using this Table of Geographical Locations, we can now upgrade GetUserGeoID from GEOID_NOT_AVAILABLE (-1), to: [Kernel32.dll] GetUserGeoID=r0xF4s1 ;US ; or GetUserGeoID=r0x5Es1 ;Germany
  23. Probably one of the new definitions. First we need to look at what was reported in the Kstub730.log file. Each action is now logged. The next thing would be to try the older definitions with Kstub730.dll. You can do this by removing Kstub730.ini--Kstub730 will use Kex stubs.ini if it doesn't find Kstub30.ini. (Kstub626.dll also has this feature.)
  24. BlackWingCat's kdw and KernelEx only offer stubs and limited support for Uxtheme. That may be enough for now, as 9x doesn't seem to contain the infrastructure to really support much more yet. But ideally we'd like to have a complete implementation for when all the other pieces fall into place. For weeks I've been researching projects that might be helpful in extending KernelEx once API forwarding was functional. Until last night I hadn't really focused on Uxtheme, however. Here are some options: Uxtheme.dll support Project Date Size API count ----------------------- --------------- ------- --------- KernelEx 4.52 11/14/2011 5K 48 BWC KB935839-v15y 3/17/2012 16K 48 BlackWingCat kdw096m 2/10/2012 17K 48 OldCigarette W2KXPAPI 2/27/2011 44K 18 win2000-uxthemedll/Wine 10/06/2010 337K 52 ReactOS LiveCD 2/05/2012 232K 53 Quotes from "Windows NT4/2000/2003 > PE Tool for creating patches" posts: Uxtheme without Critical Section (Ctx) support causes problems in .NET apps: Uxtheme causes .NET problems on Win2K:
  25. >I think it should be PrintDlgExW=>ComDlgKs.dll:PrintDlgExW !? Good eye, I hoped it would be noticed. This was an intentional example of how the '.dll' extension is optional: ; =>[[drive:]path]library[.ext]:function SumatraPDF 2.11 was my test case for this forwarding definition.
×
×
  • Create New...