Hide Drives and Partitions

User avatar
Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Post by Silvio »

Exist a function in FW/xHARbour to Restart window's registry for the change to take effect without erestart window ?
Best Regards, Saludos

Falconi Silvio
User avatar
Detlef Hoefner
Posts: 312
Joined: Sat Oct 08, 2005 9:12 am
Location: Germany
Contact:

Post by Detlef Hoefner »

Silvio wrote:I cannot restart windows
there is a possibility to restart using an function ?
If I restart the program ?
it must be made without restart window ...then If I want to show disc C I must restart window...
Silvio,

there is no need to restart Windows.
The drives should be immediatelly hidden.
You only have to refresh the Explorer.

Now the bad news: the FiveWin class treg32 seems not to be able writing REG_BINARY key values.
You can only write subkey values with type REG_DWORD and REG_SZ.

Antonio, am i right ?

Sorry Silvio, can't help you further.
Regards,
Detlef
User avatar
Ugo
Posts: 283
Joined: Sat Oct 15, 2005 6:40 am
Location: Turin, Italy

Post by Ugo »

Dear Silvio,
I use:

Code: Select all

   REGCREATEKEY( HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", @hKey )
   REGSETVALUE( hKey, "NoDrives", 0, REG_DWORD, L2BIN( nVal ), 4 )
   REGCLOSEKEY( hKey )
With nVal is the value for hidden drives.
Is not necessary reboot windows.
Ciao, best regards,
Ugo
User avatar
Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Post by Silvio »

thanks but wich parameter you give to these:

hKey
REG_DWORD
nval
because it me give an error Variables does not exist
Best Regards, Saludos

Falconi Silvio
User avatar
Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Post by Silvio »

now run ok
Best Regards, Saludos

Falconi Silvio
User avatar
RAMESHBABU
Posts: 591
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India

Post by RAMESHBABU »

Hi all

In continuation of the subject, please post an example to show the hidden
drive(s) back.

Thanks in advance

- Ramesh Babu P
User avatar
Detlef Hoefner
Posts: 312
Joined: Sat Oct 08, 2005 9:12 am
Location: Germany
Contact:

Post by Detlef Hoefner »

RAMESHBABU wrote:Hi all

In continuation of the subject, please post an example to show the hidden
drive(s) back.

Thanks in advance

- Ramesh Babu P
Dear Ramesh,

just use a 0 ( zero ) and write it into the noDrives key.

Best regards,
Detlef
User avatar
RAMESHBABU
Posts: 591
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India

Post by RAMESHBABU »

Dear Mr.Detlef

Thank you very much for your quick reply.

Please go through the following code and advise me where I am going
wrong.

With the following code I did not get the expected result.

Please correct it to get the hidden drive to appear back.

Once again thank you very much.

- Ramesh Babu P
#INCLUDE "fivewin.ch"

#define HKEY_CURRENT_USER -2147483647 // 2147483649

FUNCTION Main()

registra(0)

RETURN nil


*********

FUNCTION registra(nNumber)

oReg := TReg32():New(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\explorer")

oReg:Set("NoDrives", nNumber)

oReg:Close()

RETURN nil

**********
User avatar
Detlef Hoefner
Posts: 312
Joined: Sat Oct 08, 2005 9:12 am
Location: Germany
Contact:

Post by Detlef Hoefner »

Dear Ramesh,

as i already wrote, i fear that you can not write the desired values with the methods of class TReg32. At least i didn't succeed.

I think you must use the WinApi functions as Ugo showed us.

Code: Select all

Ugo wrote:

REGCREATEKEY( HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", @hKey )
REGSETVALUE( hKey, "NoDrives", 0, REG_DWORD, L2BIN( nVal ), 4 ) 
REGCLOSEKEY( hKey ) 
HTH.
Best regards,
Detlef
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Detlef,

>
the FiveWin class treg32 seems not to be able writing REG_BINARY key values. You can only write subkey values with type REG_DWORD and REG_SZ.
>

We are going to review it. Thanks for the feedback :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Post by Silvio »

Sorry Ugo,
But now it not run ok
I SEE THE HARD DISK C

THIS IS THE CODE :

Code: Select all

#INCLUDE "fivewin.ch"

#define HKEY_CURRENT_USER   -2147483647  // 2147483649

PROCEDURE Main()
   LOCAL hKey
   Local  REG_DWORD
   LOCAL nval
  nVal:= nDriveNum( "C" )
   ?  nVal
   REGCREATEKEY( HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", @hKey )
   REGSETVALUE( hKey, "NoDrives", 0, REG_DWORD, L2BIN( nVal ),4 )
   REGCLOSEKEY( hKey )
RETURN


FUNCTION nDriveNum( cDrives )
LOCAL nRet := 0
LOCAL n    := 0
   for n := 1 to len( cDrives )
      nRet += 2 ^( asc( upper( substr( cDrives, n, 1 ) ) ) - 65 )
   next
RETURN( int( nRet ) )

Perhaps there is something wrong....
Best Regards, Saludos

Falconi Silvio
User avatar
Ugo
Posts: 283
Joined: Sat Oct 15, 2005 6:40 am
Location: Turin, Italy

Post by Ugo »

Silvio wrote:Sorry Ugo,
But now it not run ok
...
Dear Silvio,
test this code:

Code: Select all

#INCLUDE "fivewin.ch"

#define HKEY_CURRENT_USER  2147483649
#define REG_DWORD                   ( 4 )           // 32-bit number

PROCEDURE Main()
   LOCAL hKey
   LOCAL nval := 4   // Drive C
   REGCREATEKEY( HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", @hKey )
   REGSETVALUE( hKey, "NoDrives", 0, REG_DWORD, L2BIN( nVal ),4 )
   REGCLOSEKEY( hKey )
RETURN
Ciao, best regards,
Ugo
User avatar
Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Post by Silvio »

No it not run well
I see the hard disk
Best Regards, Saludos

Falconi Silvio
User avatar
RAMESHBABU
Posts: 591
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India

Post by RAMESHBABU »

As per tests with the code I have posted in my previous posting, the effect
is taking place only when the system is restarted.

I have tested it only in Windows 98 SE.

- Ramesh Babu P
User avatar
Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Post by Silvio »

Dear Ugo,
the code sample run but I must restart the system to effect it !!!

Is there an solution to NOTrestart the system?
Best Regards, Saludos

Falconi Silvio
Post Reply