プロが教えるわが家の防犯対策術!

起動後ある特定のユーザー/パスワード/ドメインにて自動起動するにはどのようにすれば良いのでしょうか?
 VBで作成可能であれば、プログラムをご教示ください

そのプログラム上に、ユーザー/パスワード/ドメインを定数等で持ち自動ログインはできないでしょうか?
 その定数(ユーザ/パスワード/ドメイン)を変更することにより、容易に変更したく思っています

やはり、ログイン前なので不可能でしょうか?

以上、初歩的な質問では御座いますが宜しくお願いいたします

A 回答 (4件)

窓の手を使えば簡単に自動ログインできるように設定できます。


 http://www.asahi-net.or.jp/~vr4m-ikw/ <窓の手の公式サイトです。
DLして使ってみてください。

参考URL:http://www.asahi-net.or.jp/~vr4m-ikw/
    • good
    • 0

以下のようになると思います。


VB6で作ってみました。(VB.NETだとわかりませんm○m)
レジストリの操作なのでくれぐれも気をつけましょう。

ちなみに自動ログオンを一時的に無効にするには
「Windows NT の起動時に、Shift キーを押したままにします。」

↓↓↓↓↓↓
Option Explicit

'レジストリのキーのオープン ==========
Declare Function RegOpenKeyEx _
Lib "advapi32.dll" _
Alias "RegOpenKeyExA" _
(ByVal hKey As Long _
, ByVal lpSubKey As String _
, ByVal ulOptions As Long _
, ByVal samDesired As Long _
, phkResult As Long) As Long
'レジストリデータを書き込む ==========
Private Declare Function RegSetValueEx _
Lib "advapi32.dll" _
Alias "RegSetValueExA" _
(ByVal hKey As Long _
, ByVal lpValueName As String _
, ByVal Reserved As Long _
, ByVal dwType As Long _
, ByVal lpData As Any _
, ByVal cbData As Long) As Long
'レジストリキーを閉じる ===============
Declare Function RegCloseKey _
Lib "advapi32.dll" _
(ByVal hKey As Long) _
As Long

Private Const READ_CONTROL = &H20000
Private Const KEY_QUERY_VALUE = &H1
Private Const KEY_SET_VALUE = &H2
Private Const KEY_CREATE_SUB_KEY = &H4
Private Const KEY_ENUMERATE_SUB_KEYS = &H8
Private Const KEY_NOTIFY = &H10
Private Const KEY_CREATE_LINK = &H20
Private Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL

Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const REG_SZ = 1

Sub Main()

'
' Windows 2000 Professional で自動ログオンを有効にする
'
'レジストリ:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon の
'(1) DefaultDomainName、
' DefaultUserName、
' および DefaultPassword
' に値をセットする
'(2) AutoAdminLogon に 1 をセットする。
'(3) ForceAutoLogon に 1 をセットする。

'↓ここに自動ログオンするドメイン名/ユーザ名/パスワードをセット
Const AutoLogonDomain As String = "XXXXX"
Const AutoLogonUser As String = "XXXXX"
Const AutoLogonPass As String = "XXXXX"
'↑ここをセット

Dim sDomain As String * 256
Dim sUser As String * 256
Dim sPass As String * 256
Dim sAutoLogon As String * 256
Dim sForceAuto As String * 256

Dim hnd As Long 'キーハンドル

sDomain = AutoLogonDomain & Chr(0)
sUser = AutoLogonUser & Chr(0)
sPass = AutoLogonPass & Chr(0)
sAutoLogon = "1" & Chr(0)
sForceAuto = "1" & Chr(0)

'レジストリキーのオープン
If RegOpenKeyEx( _
HKEY_LOCAL_MACHINE _
, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" _
, 0 _
, KEY_ALL_ACCESS _
, hnd) = 0 Then

'ドメイン名のセット
RegSetValueEx hnd _
, "DefaultDomainName" _
, 0 _
, REG_SZ _
, sDomain _
, Len(AutoLogonDomain) + 1

'ユーザー名のセット
RegSetValueEx hnd _
, "DefaultUserName" _
, 0 _
, REG_SZ _
, sUser _
, Len(AutoLogonUser) + 1

'パスワードのセット
RegSetValueEx hnd _
, "DefaultPassword" _
, 0 _
, REG_SZ _
, sPass _
, Len(AutoLogonPass) + 1

'AutoAdminLogon に 1 をセット
RegSetValueEx hnd _
, "AutoAdminLogon" _
, 0 _
, REG_SZ _
, sAutoLogon _
, 2

'ForceAutoLogon に 1 をセット
RegSetValueEx hnd _
, "ForceAutoLogon" _
, 0 _
, REG_SZ _
, sForceAuto _
, 2

'レジストリキーのクローズ
RegCloseKey hnd
End If

End Sub

↑↑↑↑↑↑
    • good
    • 0

マイクロソフトのサポートオンラインに


「Windows 2000 Professional で自動ログオンを有効にする方法」というのがあります。

レジストリを書き換えるプログラムをVBで作ればなんとかなるかと思います。

参考URL:http://support.microsoft.com/default.aspx?scid=k …
    • good
    • 0
この回答へのお礼

ありがとうございます
早速拝見させていただきました
 レジストリを変更するプログラムをVBにて作成した経験がございません
 本件内容でご教示頂けませんでしょうか?
よろしくお願いいたします

お礼日時:2005/01/23 08:37

>起動後ある特定のユーザー/パスワード/ドメインにて自動起動するにはどのようにすれば良いのでしょうか?



日本語を正しく書かないと理解してもらえないかと。


起動後に自動起動するには?
・・・意味不明

>ユーザー/パスワード/ドメインを定数等で持ち自動ログインはできないでしょうか?

これも意味不明。自動ログインはアプリが起動する前に行われるものです。あらかじめOS(レジストリ)に設定する必要があります。


>その定数(ユーザ/パスワード/ドメイン)を変更することにより、容易に変更したく思っています

定数は変更できないから定数なんです。変更できたら変数なんですが。


>やはり、ログイン前なので不可能でしょうか?

一体どのタイミングでログイン情報の変更を行いたいのですか?
ログイン前にダイアログを出して変更できるような仕組みを組んだとしたら、そのダイアログが出ることによって自動ログインが阻害されます。矛盾してますよね。


通常の考え方だと、次回の再起動における自動ログインの設定をアプリケーションから変更するというのでしたら理解できますが。

あと、VBでは不可能な方法としてWindowsのログインダイアログの制御を行う方法もあります。これでしたら、自動ログインに失敗したら新たな自動ログインの情報を登録しなおすための画面を表示して入力を促すということも可能ですが、そこまでやるメリットはほとんどないでしょう。
GINAと呼ばれる仕組みです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!