青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

zhiye_wang

向星空仰望的越深,越發現自己的渺小

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  31 隨筆 :: 1 文章 :: 2 評論 :: 0 Trackbacks

#

在構造自己的類時,有可能會碰到兩個類之間的相互引用問題,例如:定義了類A類B,A中使用了B定義的類型,B中也使用了A定義的類型
例如:
類CGUICmd中調用了類CMainFrame。
類CMainFrame中調用了類CGUICmd。
//////////////////////////////////////////////////////////////////////////
/// GUICmd.h
 
#ifndef _GUI_CMD_H
#define _GUI_CMD_H
 
class CGUICmd
{
public:
CGUICmd(void);
~CGUICmd(void);
int Gui_GetMessage(HWND hWnd, SOCKET sService, int bBlocking, CMainFrame* pFrame);
 
public:
SOCKET sService;
};
//////////////////////////////////////////////////////////////////////////
/// main_frame.h
 
#ifndef _MAIN_FRAME_H
#define _MAIN_FRAME_H
 
class CMainFrame:public CXMLWnd
{
public:
CGUICmd m_cGuiCmd;
};
不能單純的再對方的源文件中互相包含頭文件。
較好的方式:
main_frame.h 中#include "GUICmd.h", 
CGUICmd.h 中加入一行:class CMainFrame;
CGUICmd.cpp 中#include "main_frame.h"
//////////////////////////////////////////////////////////////////////////
/// main_frame.h
 
#ifndef _MAIN_FRAME_H
#define _MAIN_FRAME_H
 
#pragma once
 
#include "GUICmd.h"    
//////////////////////////////////////////////////////////////////////////
/// GUICmd.cpp
 
#include "GUICmd.h"
#include "main_frame.h"
 
 
//////////////////////////////////////////////////////////////////////////
/// GUICmd.h
 
#ifndef _GUI_CMD_H
#define _GUI_CMD_H
 
class CMainFrame;
 
class CGUICmd
{
}
posted @ 2014-12-24 15:32 zhiye_wang 閱讀(464) | 評論 (0)編輯 收藏

二 創建策略并設置給指定用戶
1 打開“組策略管理”(在這里創建策略)
cmd下輸入GPMC.MSC 打開組策略管理
隨后在域上右鍵選擇“在這個域中創建GPO并在此處鏈接”,輸入名字“磁盤管理策略”,
右鍵”編輯“,設置"隱藏磁盤分區(1)"中添加的策略“僅僅禁用F盤“。
右鍵“磁盤管理策略”,勾選強制,勾選已啟用鏈接。
2 關聯此GPO
默認情況下,GPO 影響鏈接的站點、域或 OU 中包含的所有用戶和計算機。
不過,您可以在 GPO 上使用安全篩選以修改其效果:通過修改 GPO 權限僅將其應用于特定用戶、Active Directory 安全組成員或計算機。通過將安全篩選和 OU 中的相應位置相結合,您可以將任何一組給定的用戶或計算機作為目標。
要將 GPO 應用于給定用戶、安全組或計算機,該用戶、組或計算機必須具有 GPO 的“讀取”和“應用組策略”權限。默認情況下,“經過身份驗證的用戶”將“讀取”和“應用組策略”權限設置為“允許”。這兩個權限是作為一個單位使用 GPMC 中的安全篩選進行管理的。
若要設置給定 GPO 的權限,以便僅將 GPO 應用于特定用戶、安全組或計算機(而不是應用于所有經過身份驗證的用戶),請在 GPMC 控制臺樹中包含該 GPO 的林和域中展開“組策略對象”。單擊該 GPO,然后在細節窗格的“作用域”選項卡上的“安全篩選”下面,刪除“經過身份驗證的用戶”,單擊“添加”,然后添加新的用戶、組或計算機。
在”磁盤管理策略“的右側窗口中,“安全篩選”下,添加需要生效的域用戶。
3 刷新GPO
默認的GPO設置不會自動刷新,只會在以下情況
系統啟動時
用戶登錄時
間隔最長90分鐘就刷新一次,原則上是隨機的小于90分鐘的時間啟動一次。
手動刷新GPO設置:GPUPDATE.EXE
4 登錄查看
用域用戶zhiye.wang登錄,查看,F盤已經看不到。
用域用戶ming.xiao登錄,查看,F盤依舊可以看到。
posted @ 2014-12-23 18:00 zhiye_wang 閱讀(594) | 評論 (0)編輯 收藏

調用API函數NetShareAdd()將文件夾設置為共享,調用此函數后如果不做其他設置,網絡用戶是無法訪問共享文件夾的,因為此文件夾在NTFS分區中,同時受到NTFS文件系統的訪問控制,因此還需要第2步;
調用DOS命令cacls,賦予Guest用戶組讀寫權限;
如果要取消文件共享,直接調用API函數NetShareDel()

對于FAT32分區中文件夾,cacls命令是不起作用的,這個命令專用于NTFS格式下的文件和文件夾。也就是說上面這種解決方法的第步不能用了,那么現在只能使用NetShareAdd()函數添加文件共享。調用此函數后如果不做其他設置,網絡用戶可以訪問共享文件夾,但擁有完全控制權限(這是默認的共享權限設置),而在實際項目中我們希望能夠編程控制讀寫權限。在NTFS分區中,我們還有NTFS文件系統的訪問控制功能罩著,在FAT32分區中就只能依賴于操作系統文件夾共享自身的權限設置功能了。
 1NET_API_STATUS NetShareAdd(
 2_In_   LPWSTR servername,
 3_In_   DWORD level,
 4_In_   LPBYTE buf,
 5_Out_  LPDWORD parm_err
 6);
 7typedef struct _SHARE_INFO_2 {
 8LPWSTR shi2_netname;
 9DWORD  shi2_type;
10LPWSTR shi2_remark;
11DWORD  shi2_permissions;
12DWORD  shi2_max_uses;
13DWORD  shi2_current_uses;
14LPWSTR shi2_path;
15LPWSTR shi2_passwd;
16}
 SHARE_INFO_2, *PSHARE_INFO_2, *LPSHARE_INFO_2;

addShare.cpp

 1// 說明:
 2// FAT 系統調用此函數,shi502_permissions參數無效。有且僅有共享權限為最高權限。
 3// NTFS 系統調用此函數,請修改shi502_permissions參數,可使用如下權限:
 4// ACCESS_READ, ACCESS_WRITE, ACCESS_CREATE, ACCESS_EXEC
 5// ACCESS_DELETE, ACCESS_ATRIB, ACCESS_PERM, ACCESS_ALL
 6BOOL addShare(LPTSTR lpShareName, LPTSTR lpShareDir)
 7{
 8NET_API_STATUS res;
 9SHARE_INFO_502 p;
10 
11p.shi502_netname = lpShareName; //共享名
12p.shi502_type = STYPE_DISKTREE; 
13p.shi502_remark = NULL;
14p.shi502_permissions = ACCESS_ALL;
15p.shi502_max_uses = SHI_USES_UNLIMITED; //最大鏈接數
16p.shi502_current_uses = 0;
17p.shi502_path = lpShareDir; //需要共享的路徑
18p.shi502_passwd = NULL;
19p.shi502_reserved = 0;
20p.shi502_security_descriptor = NULL;
21 
22res = NetShareAdd(NULL, 502, (LPBYTE)&p, NULL);
23 
24if (NERR_Success == res)
25{
26printf("Share created.\n");
27}

28else
29{
30printf("NetShareAdd error: %u\n", res);
31}

32return (res==NERR_Success);
33}

34

delShare.cpp
 
 1BOOL delShare(LPTSTR lpShareName)
 2{
 3    NET_API_STATUS res;
 4    //TCHAR szShareName[256] = "TestShare";
 5    //TCHAR szShreDir[256] = "F:\\Media";
 6    res = NetShareDel(NULL, (LMSTR)lpShareName, 0);
 7    if (NERR_Success == res)
 8    {
 9        printf("NetShareDel ok.\n");
10    }

11    else
12    {
13        printf("NetShareDel error: %u\n", res);
14        if (ERROR_ACCESS_DENIED == res)
15        {
16            printf("The user does not have access to the requested information.\n");
17        }

18        if (NERR_NetNameNotFound == res)
19        {
20            printf("The share name does not exist.\n");
21        }

22    }

23    return (res==NERR_Success);
24}

posted @ 2014-12-23 17:53 zhiye_wang 閱讀(295) | 評論 (0)編輯 收藏

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1/**//*  2 * ===============================================================...  閱讀全文
posted @ 2014-12-23 17:47 zhiye_wang 閱讀(496) | 評論 (0)編輯 收藏

20141129

根據微軟http://support.microsoft.com/kb/231289 這篇文章沒有辦法解決Windows server 2008下隱藏指定盤符的問題
這兩天搜索一些資料的總結,現在終于解決了這個問題.詳細步驟如下

一 首先創建(針對域用戶的)組策略需要的數據

1.首先在C:\Windows\SYSVOL\sysvol\xxx.com\Policies文件夾下,創建文件夾PolicyDefinitions.
2.將%systemroot%\PolicyDefinitions\下所有文件(這個目錄的文件是針對本地用戶的)復制到
C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions下.
3.修改C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\WindowsExplorer.admx
這個文件來達到在Windows server 2008中隱藏指定盤符的功能.
4.在WindowsExplorer.admx文件中查找字段NoDrives,添加相應的字符串可以設置隱藏指定的磁盤驅動器;查找字段NoViewOnDrive,并修改相應的字段,可以設置拒絕從Windows資源管理器訪問某個磁盤驅動器.

下面以設置隱藏指定的磁盤驅動器為例:(下列黑體字我測試時設置的"只顯示Z,其他盤符不顯示

以下是微軟幫助中的解釋:

這項策略在客戶端計算機上只顯示指定的驅動器。這項策略所影響的注冊表項使用與 26 位二進制字符串(每一位代表一個驅動器號)相對應的十進制數字:

00000000000111100000000000
ZYXWVUTSRQPONMLKJIHGFEDCBA


此配置對應于十進制數字 67108863,它會隱藏所有的驅動器。如果您要隱藏驅動器 C,將第三低位設置為 1,然后將二進制字符串轉換為十進制數字。

沒有必要創建一個顯示所有驅動器的選項,因為清除復選框就完全刪除了“NoDrives”項,所有驅動器都會自動顯示。

如果您要配置這項策略以顯示一個不同的驅動器組合,請創建相應的二進制字符串,將它轉換成十進制數字,并向 ITEMLIST 部分添加一個帶有相應的 [strings] 項的新項。例如,要隱藏驅動器 L、M、N 和 O,請創建下面的字符串

100000000000111100000000000
2ZYXWVUTSRQPONMLKJIHGFEDCBA


并將其轉換成十進制。這個二進制字符串可轉換成十進制數字 30720

這篇文章中的信息適用于:
Microsoft Windows Server 2003 Standard Edition
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
Microsoft Windows 2000 Datacenter Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional Edition
Microsoft Windows 2000 Server
關鍵字:
kbenv kbinfo KB231289

5.之后修改C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\zh-CN\WindowsExplorer.adml(適用于中文Windows server 2008).

如果你使用的是英文版需要修改:C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\en-US\WindowsExplorer.adml

添加如下字符串.(黑體字)
不限制z驅動器,其余驅動器全部限制

注意:string id要跟WindowsExplorer.admx設置相同.

6.現在在組策略中就可以看到這個設置了.

”本地組策略編輯器“->“用戶配置”→“管理模板”→Windows組件→“Windows 資源管理器”,在右側的窗格里雙擊“隱藏我的電腦中這些指定驅動器”項,

20141201

2.通過注冊表隱藏硬盤分區
關鍵值是:NoDrives
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\新建鍵值NoDrives,

posted @ 2014-12-23 17:43 zhiye_wang 閱讀(573) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 int mystrcmp(const char* dest, const char* src)
 8 {
 9     assert (dest!=NULL && src!=NULL);
10     while (*dest++ == *src++)
11     {
12         if (*dest=='\0' || *src=='\0')
13             break;    
14     }
15     return *dest > *src ? 1 : (*dest==*src ? 0 : -1);
16 }
17 
18 int main(int argc, char* argv[])
19 {
20     printf("Hello World!\n");
21     cout << mystrcmp("abc", "abcd");
22     cout << endl;
23     return 0;
24 }
輸出:
Hello World!
-1
Press any key to continue
posted @ 2014-06-12 10:12 zhiye_wang 閱讀(237) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 #include "string"
 5 
 6 using namespace std;
 7 
 8 char* mystrcat(char* dest, const char* src)
 9 {
10     assert(dest!=NULL && src!=NULL);
11     char* p = dest;
12     while (*p!='\0') 
13         p++;
14     while (*p++ = *src++);
15     *p = '\0';
16     return dest;
17 }
18 
19 int main(int argc, char* argv[])
20 {
21     printf("Hello World!\n");
22     char buf[10] = "FU ";
23     char test[4] = "CK!";
24     mystrcat(buf, test);
25     cout << buf << endl;
26     return 0;
27 }
輸出:
Hello World!
FU CK!
Press any key to continue
posted @ 2014-06-12 09:59 zhiye_wang 閱讀(215) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 
 4 using namespace std;
 5 
 6 int isechol (const char* str)
 7 {
 8     int length = strlen(str);
 9     for (int i=0; i<length/2; i++)
10     {
11         // 0代表不是,1代表是
12         if (str[i] != str[length-i-1])
13         {    
14             return 0;
15         }
16     }
17     return 1;
18 }
19 
20 int main(int argc, char* argv[])
21 {
22     printf("Hello World!\n");
23     char buf[10] = "abcddcba";
24     if (isechol(buf))
25         cout << buf << " is echol" << endl;
26     else
27         cout << buf << " is not echol" << endl;
28     return 0;
29 }
輸出:
Hello World!
abcddcba is echol
Press any key to continue
posted @ 2014-06-12 09:50 zhiye_wang 閱讀(467) | 評論 (2)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 char* mystrncpy(char* dest, const char* src, int n)
 8 {
 9     assert(dest!=NULL && src!=NULL);
10     int count = 0;
11     while (*src != '\0')
12     {
13         if (count >= n)
14         {
15             break;
16         }
17         dest[count++] = *src++;
18     }
19     dest[count] = '\0';
20     return dest;
21 }
22 
23 int main(int argc, char* argv[])
24 {
25     printf("Hello World!\n");
26     char buf[10] = {0};
27     mystrncpy(buf, "FUCK!", 4);
28     cout << buf << endl;
29     return 0;
30 }

輸出:
Hello World!
FUCK!
Press any key to continue
posted @ 2014-06-12 09:30 zhiye_wang 閱讀(549) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 char* mystrcpy(char* dest, const char* src); // 1 const
 8 
 9 
10 int main(int argc, char* argv[])
11 {
12     printf("Hello World!\n");
13     char buf[10] = {0};
14     mystrcpy(buf, "FUCK!");
15     cout << buf << endl;
16     return 0;
17 }
18 
19 char* mystrcpy(char* dest, const char* src)
20 {
21     assert(dest!=NULL && src!=NULL);   // 2 assert
22     char* p = dest;
23     while (*p++ = *src++);
24     *p = '\0';                                    // 3 字符串結束
25     return dest;
26 }

輸出:
Hello World!
FUCK!
Press any key to continue
posted @ 2014-06-12 09:11 zhiye_wang 閱讀(205) | 評論 (0)編輯 收藏

僅列出標題
共4頁: 1 2 3 4 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲巨乳在线| 玖玖精品视频| 在线视频你懂得一区二区三区| 亚洲午夜精品在线| 蜜月aⅴ免费一区二区三区| 欧美激情一区二区三级高清视频| 亚洲性感激情| 欧美成人精品三级在线观看| 国产酒店精品激情| av成人激情| 欧美大片在线观看一区| 久久国产精品一区二区三区| 国产精品天天看| 一区二区三区国产盗摄| 日韩一区二区久久| 欧美二区在线看| 日韩午夜精品视频| 日韩视频一区| 亚洲片在线观看| 久久精品中文字幕一区| 国产精品久久网站| 午夜国产一区| 欧美在线视频免费播放| 国产精品亚洲综合一区在线观看| 一区二区国产日产| 中文av字幕一区| 欧美性一区二区| 亚洲欧美日韩精品久久久久| 亚洲综合国产| 国产美女搞久久| 久久久久国产精品午夜一区| 久久久精品日韩| 一区二区三区在线视频观看 | 亚洲精品日本| 亚洲国产高清aⅴ视频| 欧美xart系列高清| 99精品欧美| 一区二区三区导航| 国产欧美精品一区aⅴ影院| 久久精品国产一区二区三区| 欧美在线视频一区| 1000部精品久久久久久久久| 亚洲黄色一区| 欧美成人精品激情在线观看| 日韩亚洲欧美精品| 亚洲国产精品久久久久秋霞不卡| 亚洲美女毛片| 日韩一区二区精品葵司在线| 国产精品v欧美精品v日本精品动漫| 亚洲综合视频1区| 亚洲欧美日韩成人高清在线一区| 国产麻豆视频精品| 女生裸体视频一区二区三区| 欧美电影专区| 亚洲国产精品123| 日韩一区二区高清| 性欧美video另类hd性玩具| 亚洲人成人77777线观看| 国产精品狼人久久影院观看方式| 国产精品99久久久久久www| 亚洲午夜羞羞片| 亚洲电影免费在线观看| 亚洲毛片在线免费观看| 国产日韩在线不卡| 欧美激情欧美激情在线五月| 欧美日韩一级视频| 久久成人免费电影| 女人香蕉久久**毛片精品| 欧美一级久久久| 欧美激情精品久久久久久黑人| 国产视频精品va久久久久久| 久久久在线视频| 欧美人成免费网站| 蜜乳av另类精品一区二区| 欧美色播在线播放| 久久综合久久美利坚合众国| 欧美日韩精品久久久| 久久久久网站| 国产精品qvod| 米奇777超碰欧美日韩亚洲| 国产精品美女久久久免费| 亚洲国产综合视频在线观看| 国产日韩欧美黄色| 亚洲国产精品国自产拍av秋霞| 国产亚洲欧美aaaa| 一本色道久久综合亚洲精品婷婷| 亚洲国产一二三| 欧美一站二站| 亚洲综合色视频| 欧美日本在线看| 欧美黄色成人网| 伊伊综合在线| 欧美主播一区二区三区| 亚洲欧美日韩视频二区| 日韩天堂在线视频| 亚洲日本乱码在线观看| 欧美伊人久久大香线蕉综合69| 新片速递亚洲合集欧美合集| 欧美日韩国产色站一区二区三区| 亚洲国产成人精品女人久久久 | 欧美护士18xxxxhd| 好吊视频一区二区三区四区| 一区二区三区免费网站| 久久久亚洲高清| 欧美成黄导航| 久久精品二区三区| 国产精品美女久久久久aⅴ国产馆| 亚洲国产成人91精品| 亚洲激情电影在线| 久久久www| 男女精品网站| 亚洲国产精品久久久久秋霞影院| 久久久久久久999| 欧美成人午夜| 亚洲美女色禁图| 欧美激情综合色综合啪啪| 一区二区三区 在线观看视| 亚洲午夜av| 国产精品欧美经典| 久久久久久黄| 一本色道久久加勒比88综合| 欧美中文字幕在线播放| 伊人婷婷久久| 欧美性淫爽ww久久久久无| 久久久国产成人精品| 欧美区高清在线| 亚洲人成在线观看| 国产精品久久久久久久久| 欧美在线1区| 亚洲人成网站影音先锋播放| 亚洲一区中文字幕在线观看| 狠狠色综合网站久久久久久久| 欧美高清自拍一区| 亚洲欧美乱综合| 亚洲欧洲一区二区天堂久久| 亚洲主播在线播放| 亚洲欧洲精品一区二区三区| 国产精品中文字幕欧美| 蜜桃av噜噜一区| 亚洲欧美日韩在线不卡| 欧美国产三区| 久久精品人人| 亚洲精品国产无天堂网2021| 国产精品一二三| 欧美激情第9页| 亚洲欧美www| 欧美激情亚洲| 久久久精品国产免大香伊| 在线国产日韩| 欧美网站在线观看| 欧美在线观看www| 国产精品视频大全| 久久精品国产亚洲高清剧情介绍| 亚洲国产91精品在线观看| 亚洲精品久久| 久久人人爽人人爽爽久久| 黄色av一区| 亚洲乱码国产乱码精品精| 久久国产精品网站| 亚洲一区3d动漫同人无遮挡| 欧美久久一区| 亚洲激情另类| 国产精品xxxxx| 欧美成人一区二区| 亚洲黄页一区| 亚洲精品乱码| 好看的av在线不卡观看| 欧美在线精品一区| 欧美与欧洲交xxxx免费观看| 国产精品一区二区三区免费观看| 欧美日韩午夜剧场| 亚洲午夜精品| 久久久91精品国产一区二区三区 | 欧美日韩三级电影在线| 欧美freesex8一10精品| 久久成人免费日本黄色| 黑人巨大精品欧美一区二区| 久久久久一区二区| 欧美在线免费视屏| 欧美日韩精品欧美日韩精品| 欧美日韩精品在线观看| 99精品国产福利在线观看免费| 亚洲视频网在线直播| 加勒比av一区二区| 91久久精品国产91久久性色| 最新日韩精品| 99在线观看免费视频精品观看| 国产精品老女人精品视频| 日韩视频免费看| 中国成人亚色综合网站| 国产一区二区三区四区老人| 欧美一区二区免费观在线| 欧美一区视频在线| 免费在线欧美黄色| 日韩一级免费观看| 99综合在线| 国模大胆一区二区三区| 欧美精品v国产精品v日韩精品| 免费一级欧美在线大片| 午夜激情综合网|