eclipse 中tomcat服务器停止了怎么办

eclipse 中tomcat服务器停止了怎么办,第1张

其实每次都可以自己来启动tomcat的,你的eclipse中安装了tomcat插件后,工具栏应该是下面的这个样子吧:

想要启动tomcat时,点击那个小老虎(或狮子)的图标就可以了

//

引入必要的命名空间

using

System

using

System.Collections.Generic

using

System.ComponentModel

using

System.Data

using

System.Drawing

using

System.Text

using

System.Windows.Forms

using

System.Runtime.InteropServices

//

提供DllImport等特性,是P/Invoke的关键

namespace

test

{

public

partial

class

Form1

:

Form

{

public

Form1()

{

InitializeComponent()

}

//

这个结构体将会传递给API。使用StructLayout(...特性,确保其中的成员是按顺序排列的,C#编译器不会对其进行调整。

[StructLayout(LayoutKind.Sequential,

Pack

=

1)]

internal

struct

TokPriv1Luid

{

public

int

Count

public

long

Luid

public

int

Attr

}

//

以下使用DllImport特性导入了所需的Windows

API。

//

导入的方法必须是static

extern的,并且没有方法体。调用这些方法就相当于调用Windows

API。

[DllImport("kernel32.dll",

ExactSpelling

=

true)]

internal

static

extern

IntPtr

GetCurrentProcess()

[DllImport("advapi32.dll",

ExactSpelling

=

true,

SetLastError

=

true)]

internal

static

extern

bool

OpenProcessToken(IntPtr

h,

int

acc,

ref

IntPtr

phtok)

[DllImport("advapi32.dll",

SetLastError

=

true)]

internal

static

extern

bool

LookupPrivilegeValue(string

host,

string

name,

ref

long

pluid)

[DllImport("advapi32.dll",

ExactSpelling

=

true,

SetLastError

=

true)]

internal

static

extern

bool

AdjustTokenPrivileges(IntPtr

htok,

bool

disall,

ref

TokPriv1Luid

newst,

int

len,

IntPtr

prev,

IntPtr

relen)

[DllImport("user32.dll",

ExactSpelling

=

true,

SetLastError

=

true)]

internal

static

extern

bool

ExitWindowsEx(int

flg,

int

rea)

//

以下定义了在调用WinAPI时需要的常数。这些常数通常可以从Platform

SDK的包含文件(头文件)中找到

internal

const

int

SE_PRIVILEGE_ENABLED

=

0x00000002

internal

const

int

TOKEN_QUERY

=

0x00000008

internal

const

int

TOKEN_ADJUST_PRIVILEGES

=

0x00000020

internal

const

string

SE_SHUTDOWN_NAME

=

"SeShutdownPrivilege"

internal

const

int

EWX_LOGOFF

=

0x00000000

internal

const

int

EWX_SHUTDOWN

=

0x00000001

internal

const

int

EWX_REBOOT

=

0x00000002

internal

const

int

EWX_FORCE

=

0x00000004

internal

const

int

EWX_POWEROFF

=

0x00000008

internal

const

int

EWX_FORCEIFHUNG

=

0x00000010

//

通过调用WinAPI实现关机,主要代码再最后一行ExitWindowsEx,这调用了同名的WinAPI,正好是关机用的。

private

static

void

DoExitWin(int

flg)

{

bool

ok

TokPriv1Luid

tp

IntPtr

hproc

=

GetCurrentProcess()

IntPtr

htok

=

IntPtr.Zero

ok

=

OpenProcessToken(hproc,

TOKEN_ADJUST_PRIVILEGES

|

TOKEN_QUERY,

ref

htok)

tp.Count

=

1

tp.Luid

=

0

tp.Attr

=

SE_PRIVILEGE_ENABLED

ok

=

LookupPrivilegeValue(null,

SE_SHUTDOWN_NAME,

ref

tp.Luid)

ok

=

AdjustTokenPrivileges(htok,

false,

ref

tp,

0,

IntPtr.Zero,

IntPtr.Zero)

ok

=

ExitWindowsEx(flg,

0)

}

private

void

button1_Click(object

sender,

EventArgs

e)

{

if

(radioButton1.Checked

==

true)

{

DoExitWin(EWX_SHUTDOWN)

}

else

{

Application.Exit()

}

//MessageBox.Show("2")

}

}

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/555990.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-29
下一篇2023-06-29

发表评论

登录后才能评论

评论列表(0条)

    保存