Jump to content

Mijzelf

Member
  • Posts

    464
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    country-ZZ

Posts posted by Mijzelf

  1. You didn't search the forum, did you?
    I use the free hex editor XVI32 to do that. Most often to change the API call IsDebuggerPresent (not present in Win95, and most programs don't even use it) into ReadFile.

    PassingBy is not around anymore, but BenoitRen remains with us, so if the above info is not enough (but it *is* a good start), you should ask him.

    I'm not sure Patching "IsDebuggerPresent" to "ReadFile" is a good idea. The two API Calls have different numbers of arguments. This will cause a Stack error when the API Call returns. It is also possible that an incorrect File Read command could be executed. I would suggest "GetLastError" instead.

    GetLastError() output is unpredictable. I don't know why OOo would call IsDebuggerPresent(), but it could be bad news when two subsequent calls give a different result. I recommend GetCurrentProcess(), which always evaluates to TRUE, or GetDaylightFlag(), which gives FALSE for half of a year, and TRUE the other half, and can be forced to always give FALSE. (Just disable daylight saving time)

  2. Hm, that's more about software patents (pure evil) than about open-source. Fortunately here in Europe software patents are not valid. I wonder if that means that HTC doesn't pay for Android systems sold in Europe (and other parts of the world with a sane legislation).

    BTW, I support you in your right to charge for your hard work.

  3. Still using a wrapper around smbclient I suppose? Have you tried the bare smbclient?

    smbclient //server/share password

    should work in this case. As far as I know a different authentication will be used when using

    smbclient //server/share -U username%password

    and I wouldn't be surprised if tha latter is the default of the wrapper. (Shares with only a password are rare these days.)

  4. I used to use a ext2 filesystem driver on 98, fsdext2. This is developed by Peter van Sebille for Win95 (link), and ported to W98 by Gerald Schnabel. The page of Gerald Schnabel is no longer, but Archive.org has a copy. Unfortunately Archive.org didn't store the driver itself, but googling for fsdext2_0163.zip gives some hits.This driver is read-only, (luckily, you shouldn't write to an ext3 drive using an ext2 driver) and not rock-stable.

  5. Why on Earth would you deliberately constrain file sizes to 2G?
    For compatibility reasons. When a program uses a signed int to store the filepointer, it could get mad when the pointer runs negative. With this construction a program has to explicitly tell the OS that is can handle large files.
  6. I suppose you saw this in the manpages:

    When libsmbclient is invoked by an application it searches for a directory called .smb in the $HOME directory that is specified in the users shell environment. It then searches for a file called smb.conf which, if present, will fully over-ride the system /etc/samba/smb.conf file. If instead libsmbclient finds a file called ~/.smb/smb.conf.append, it will read the system /etc/samba/smb.conf and then append the contents of the ~/.smb/smb.conf.append to it.
  7. I do know the smb.conf is responsible for the Samba and sharing resources. But, in this particular case the problem lies in accessing SMB resources from Linux. Is the Samba and smb.conf responsible for both server and client related network tasks?

    Sorry, I don' t know. When you mount a samba share, all these settings can be added to the mount command. But I suppose you are browsing the network using Nautilus or something like that, which means that there is no *real* mount. You see a smb:// url in the address bar. I *think* it's a wrapper around smbclient, but I don' t know if there are settings, and where they could be. It could be a global setting of smbclient (which *could* be smb.conf), or a setting of Nautilus.

  8. I'm running VS6 on W7. It doesn't install out of the box, but the work around is quite easy. The problem is that the installer needs Java, but the Java installer on the CD fails. To work around install the Sun Java VM (I suppose it's the Oracle Java VM now). Copy the contents of the CD to the harddisk. There is a .ini file in the root, edit this to point to the JVM instead of the MS one. Now you can install.

    The only incompatitibility I've found so far is that it is impossible to start a remote debug session on another W7 system. Older Windows systems (including NT3.51 and W95) work fine. (Didn't try Vista though).

    I only use C++, by the way.

    Edit: I had to reinstall, and wrote down what I did to get VS6 installed:

    Copy the contents of CD1 to harddisk.

    Install the Sun Java VM (Well Oracle now)

    Edit the file Setupwiz.ini, and change the line

    VmPath=ie4\msjavx86.exe

    to (in my case)

    VmPath="C:\Program Files\Java\jre6\bin\java.exe"

    Then run setup.exe.

  9. The button where you clink on is possibly just a hyperlink. When you know the hyperlink, you could use an XmlHTTPObject to download the file.

    I can't program in VBA (ridiculous syntax), but in javascript it could be somthing like this:

    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.open( "GET", "http://full.url.to/excel.document", false );
    xmlhttp.send();

    fso = new ActiveXObject("Scripting.FileSystemObject");
    file = fso.CreateTextFile("C:\\Path\\To\\Desired\\excel.document");
    file.Write(xmlhttp.responseText);

    I didn't test it. I think it only works when the excel sheet is actually a csv file.

  10. These are the only steps required on an installation without multiple user profiles:  1) Extract opera.dll with the designated tool (UPX).  2) With hex editor (I personally use XVI32), change "DuplicateTokenEx"; reference in opera.exe to "DuplicateToken";  3) Change "InterlockedCompareExchange" in opera.dll to "InterlockedExchange"; and "GlobalMemoryStatusEx" to "GlobalMemoryStatus";  In all cases, I added null characters to the strings to retain the original byte lengths.

    While this may work, you cannot count on a stable browser, this way. Opera will likely crash when it calls DuplicateToken, because it uses the wrong parameters, and expects the result on the wrong place. Using InterlockedExchange instead of InterlockedCompareExchange will increase the possibility of a wrong thread synchronization. But I suppose this will be reduced again because only one processor is used.

    the program runs out of virtual memory, which happens fairly quickly
    This could be a side effect of the usage of GlobalMemoryStatus. Due to the different layout of the used structs, Opera will read some bogus value for ullAvailVirtual, and decide to keep things cached in memory instead of on disk.

    Using KernelEx could give a more stable experience.

  11. You have got a DNS or a gateway problem. Have a look at winipcfg (Start->Run->Winipcfg) to find the used DNS and gateway. According to this page the gateway should be 192.168.0.1, while the ip address should be in the range 192.169.0.2-254. The latter seems to be OK, else filesharing wouldn't work either.The article doesn't say anything about DNS, so I suppose this is just the DNS of the host propagated by it's DHCP server. To see the DNS servers of the host, open a command prompt and type 'ipconfig /all'.

  12. I'm not sure how or why the CWD (6) would be different than the directory from which the application was loaded (1).

    When you execute from the commandline:

    .\Exe\Program.exe

    then the 'directory from which the application was loaded' is CWD\Exe, while CWD is CWD.

×
×
  • Create New...