VBからWindows2000 を再起動したいのですが、
ExitWindowsEx() APIを呼び出しても、反応がありません。

Call ExitWindowsEx(1,0) 'ログアウト
なら、ログアウトできるのですが、

Call ExitWindowsEx(2,0) 'リブート
としても、反応がありません。
OSにログインしているユーザは、Administratorの権限は
与えています。
MSDNでは、NTの場合は SE_SHUTDOWN_NAME 特権をもつ
プロセスうんぬん…とあるのですが、この意味がよく分りません。

ご存知のかたいらっしゃいましたらよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

アクセストークンの設定が必要です。


http://www.vbvbvb.com/jp/gtips/index0501.html
の508から512にサンプルがあります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速URL見させていただきました。
これで解決できそうです。
(Win2000だと、思ったより面倒なんですね…)

お礼日時:2001/11/12 15:21

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QMSDNのコレクションがありません。MSDNを再インストールしてください。

現在VisualStudio6を使っております。
VB6を使ってエラーが発生した時に、「OK」「ヘルプ」でヘルプを押すと、
MSDNのコレクションがありません。MSDNを再インストールしてください。
のメッセージが表示されます。

以前1年間 ユニバーサルエディションという高いサービスを1年間だけ受けていたが
今は何もMSDNのサービスを受けていません。

以前送られてきたCDが沢山あるのですが、どういうタイトル(ラベル)のCDをインストールすれば
良いのでしょうか?
最新でないと意味がないと思いますが、代用で使えるものがあるのでしょうか?

Aベストアンサー

MSDNに加入されていたのでしたら、3ヶ月に1度「MSDN Library」と書かれた
CD-ROM(大体2~3枚組)が送られて来ていたと思いますので、
その中からいずれかをインストールするといいでしょう。

ただVBの場合、6.0と.NETとでは別物と言っていいほど大きな違いがありますので、
必ずしも最新版がベストであるとは言い切れません。
もしVB6.0をパッケージで購入されたのでしたら、それに付属している物を
インストールした方がいいかもしれません。

また、MSDNライブラリはWeb上でも見る事ができます。
http://www.microsoft.com/japan/msdn/library/

MSDNライブラリの使い方については以下のページにわかりやすい解説があります。
http://homepage1.nifty.com/rucio/main/dotnet/nyumon/BEGIN8.htm

QVB6の _ExtentX, _ExtentY

VB6 アプリケーションのメンテナンスをしています。
修正前後で FRM ファイルのソース差分をとって確認したところ、_ExtentX, ExtentY の値が変わっていました。

今回の修正ではいじっていないのですが、変わってしまいまってました。
名前から、水平方向と、垂直方向の領域に関するプロパティと思われるのですがどこで設定されているのか分かりません。

そこで、質問ですが

(1) このプロパティの意味は何でしょうでしょうか
(2) このプロパティ値が変わることによりどのような影響があるのでしょう
(3) このプロパティは意識する必要があるのでしょうか。

以上、ご教示願います。

Aベストアンサー

全くの素人ですが、

1 コントロール(フォーム?)のHIMETRIC単位によるwidthとheight
http://www.xtremevbtalk.com/showthread.php?t=10994
2 フォームのサイズが変わっているのではないでしょうか?
3 フォームは普通意図的にサイズ指定しているはずですので、意識の必要は無いと思います。

QCallで呼び出し後にそのCallで例外が発生

例えば、下記のCallでプロシージャProc1を実行した後に、そのCallで例外(HRESULT からの例例:0x800A01B6)が発生します。

Call Proc1(a, b, c)

デバッグモードでこのCallにストップをかけ実行します。停止した後に1ステップごとに実行を進めるとと、Proc1が正常に終了した後、このCallで例外が発生したと報告されます。

環境は、Windows 7、VB 2010 Express、IE 11です。
何が起こっているのでしょうか?

Aベストアンサー

例外は登録されていないエラー種別なので、厳密には何が起きているか判りません。

ただ、Callで起きる場合の大半は型があっていないことが原因なので、
引数か関数そのもの型を確認してキャストしてみてください

Q'2465'指定した式で参照している'直線Aii'フィールドが見つかり

'2465'指定した式で参照している'直線Aii'フィールドが見つかりません。

入力されたテキストDELTUKIをiiにセットして直線Aii~Ciiに反映させたいです。
DELTUKIには0~12までのどれかがセットされて、00の場合には未可視、それ以外は
該当月の直線Aii~Ciiを可視化させたいです。
ですが、上記エラーが発生します。
どなたかご指南頂きたくよろしくお願い致します。
※.メイン画面の画像添付参照願います。
※.vba vb6 winXP
SetLowerLine:
With objrep
!直線103.Visible = True
!直線104.Visible = True
!直線105.Visible = True
!直線106.Visible = True
!直線107.Visible = True
End With
'Reports(stdocname)!直線103.Visible = True
'Reports(stdocname)!直線104.Visible = True
'Reports(stdocname)!直線105.Visible = True
'Reports(stdocname)!直線106.Visible = True
'Reports(stdocname)!直線107.Visible = True

Format ("00")
ii = Forms!メイン画面![テキストDELTUKI]
If ii = "00" Then
Else
objrep.Controls("直線A" & "ii").Visible = True
objrep.Controls("直線B" & "ii").Visible = True
objrep.Controls("直線C" & "ii").Visible = True
End If

'2465'指定した式で参照している'直線Aii'フィールドが見つかりません。

入力されたテキストDELTUKIをiiにセットして直線Aii~Ciiに反映させたいです。
DELTUKIには0~12までのどれかがセットされて、00の場合には未可視、それ以外は
該当月の直線Aii~Ciiを可視化させたいです。
ですが、上記エラーが発生します。
どなたかご指南頂きたくよろしくお願い致します。
※.メイン画面の画像添付参照願います。
※.vba vb6 winXP
SetLowerLine:
With objrep
!直線103.Visible = True
!直線104....続きを読む

Aベストアンサー

すみません、先日のこちらのご質問での回答者です:
http://oshiete1.goo.ne.jp/qa5770608.html

前回の回答2への補足の件のうち、「(2)」と「(3)」については
結局私では対処法の見当をつけかねたままなのですが(汗)、
本件についてだけはどうにかなりそうなので、回答をつけさせて
戴きます。

・・・というか、前回「"」を外すことを指摘した際に気づいて
いればよかったのですが、これも見落としていました(汗)
以下の部分を、下記のように修正してください。

【現在】
Format ("00")
ii = Forms!メイン画面![テキストDELTUKI]

If ii = "00" Then
Else
  objrep.Controls("直線A" & "ii").Visible = True
  objrep.Controls("直線B" & "ii").Visible = True
  objrep.Controls("直線C" & "ii").Visible = True
End If

【修正】
'変数「ii」に対して、Format関数で桁表示を指定
ii = Format(Forms!メイン画面![テキストDELTUKI], "00")

If ii = "00" Then
Else
  '「ii」を変数として使用するため、「"」は外します
  objrep.Controls("直線A" & ii).Visible = True
  objrep.Controls("直線B" & ii).Visible = True
  objrep.Controls("直線C" & ii).Visible = True
End If


・・・以上です。

これで、「テキストDELTUKI」に1桁の数字(「1」や「2」など)を
指定した場合も、「直線A01」や「直線A02」に処理が行われる
ようになると思います。

すみません、先日のこちらのご質問での回答者です:
http://oshiete1.goo.ne.jp/qa5770608.html

前回の回答2への補足の件のうち、「(2)」と「(3)」については
結局私では対処法の見当をつけかねたままなのですが(汗)、
本件についてだけはどうにかなりそうなので、回答をつけさせて
戴きます。

・・・というか、前回「"」を外すことを指摘した際に気づいて
いればよかったのですが、これも見落としていました(汗)
以下の部分を、下記のように修正してください。

【現在】
Format ("00")
ii = For...続きを読む

QMSDNをインストールしたい

こんにちわ。
VBをインストールし終って、MSDNもインストールしようと思ったのですが、CDを入れても反応せず、中身を見ると「MSDN」というフォルダと「MSDN332.INF」しかありません。どうやってインストールするのでしょうか?

Aベストアンサー

それは、Disc2です。
Disc1からインストールしてください。


人気Q&Aランキング

おすすめ情報