我需要创建一个需要在"C:\ Program Files","Users [username]"和Sys32中创建文件/文件夹的应用程序.此外,应用程序需要进行一些注册表项.
此应用程序需要在Vista及更高版本上运行.此外,在Windows Server 2003和更高版本上.
上述操作系统具有用户帐户控制(UAC)的概念,访问程序文件和在注册表中写入需要管理员权限.
我查看了许多论坛,发现使用Microsoft SDK我们可以检查当前用户是否具有管理员权限.但Vista和更高版本操作系统的功能"CheckTokenMembership"失败.
我还找到了一个解决方案,其中清单文件可用于事先告诉操作系统当前应用程序需要管理员权限.这是使用"requestedExecutionLevel"标记完成的.
我正在使用Visual Studio 2005来创建应用程序.当我们在Visual Studio中创建应用程序时,会创建一个默认的清单文件.我可以更改此清单文件以包含"requestedExecutionLevel"标记,以便我的应用程序始终以管理员权限运行吗?
我的应用程序是否有任何其他方法以管理员权限运行而不要求用户(管理员或标准)以"以管理员身份运行"运行我的应用程序?
谢谢!
我使用Pdfstamper在pdf上添加了水印.这是代码:
for (int pageIndex = 1; pageIndex <= pageCount; pageIndex++)
{
iTextSharp.text.Rectangle pageRectangle = reader.GetPageSizeWithRotation(pageIndex);
PdfContentByte pdfData = stamper.GetUnderContent(pageIndex);
pdfData.SetFontAndSize(BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252,
BaseFont.NOT_EMBEDDED), watermarkFontSize);
PdfGState graphicsState = new PdfGState();
graphicsState.FillOpacity = watermarkFontOpacity;
pdfData.SetGState(graphicsState);
pdfData.SetColorFill(iTextSharp.text.BaseColor.BLACK);
pdfData.BeginText();
pdfData.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "LipikaChatterjee",
pageRectangle.Width / 2, pageRectangle.Height / 2, watermarkRotation);
pdfData.EndText();
}
Run Code Online (Sandbox Code Playgroud)
这很好用.现在我想从我的pdf中删除这个水印.我查看了iTextSharp,但未能得到任何帮助.我甚至尝试将水印添加为图层,然后删除图层,但无法从pdf中删除图层的内容.我查看了iText的图层删除,发现了一个OCGRemover类,但我无法在iTextsharp中获得一个等效的类.